A Comparison of Two Cheap 8-port SATA Controllers

Linux Software RAID Performance Comparisons

The Problem

There are very few SATA controllers available with multiple ports, and those that are avaiable usually are fairly expensive because they offer hardware RAID. However, running software RAID on a dedicated Linux fileserver has advantages in maintainability and disaster recovery.

These tests are designed to evaluate SATA controllers for use with software RAID. Any hardware RAID support provided by the card is ignored.

The Controllers

The Test System

The Test Matrix

Conclusion

For pure read workloads, the Promise card has more consistent performance and better scaling, especially with multiple outstanding I/O requests from multiple threads.

For mixed-write or pure-write, the Supermicro card does better, possibly because of a write-cache, but the Marvell 88SX6081 does not seem to have one. Perhaps the Promise card turns off the drive's write cahce? This may be of concern on high-availability system -- writes pending in cache during a power failure may never make it to disk.

For use on mostly-single-threaded read workloads, with occassional single-threaded writes, the Supermicro has superior price-performance characteristics.

Sequential Single Threaded Tests

Driver performance clearly peaks just under 100MB/s for reads. The Promise card scales slightly better for some large I/O sizes, but has much lower performance when writes are being performed. The Supermicro card has highly variable performance for a 100% write workload, but can has worst-case throughput about twice the Promise card.



Random Single Threaded Tests

For random I/O, the throughput is dominated by drive seek time (with the 64MB I/O rate approaching the pure sequential I/O rate). Again, the Supermicro card does much better with write workloads.



Sequential Multi-Threaded Tests

The Promise card clearly excels at multithreaded sequential reads, sustaining near-100MB/s throughput even at large I/O sizes, and scaling well when all 5 drives are in use. When writes are introduced, the cards are fairly similar, with the Supermicro doing much better for 100% write workloads.



Random Multi-Threaded Tests

The Promise card again excels at pure read performance and scalabilty, but when writes are introduced, the Supermicro leads.