Vinum Logical Volume Manager Performance Measurement

First Round of Testing

This round of testing was done under FreeBSD 3.2-RELEASE on a Dell PowerEdge 1300 with one Pentium III processor running at 450Mhz, and with 1MB L2 cache. The machine also had 1GB ECC RAM, and the four 10kRPM IBM UltraStar 9LZX drives were connected to the server via the internal Adaptec AIC-7890 controller (equivalent to the AHA-3940UW) or the DPT SmartRAID IV PCI caching RAID controller (with 64MB cache).

Note that only striping was tested. There was not time to test mirroring, mirroring+striping, or RAID-5.

Conclusion: vinum wins, hands-down. The DPT SmartRAID IV, even in pure striping mode, just can't keep up with the much faster CPU. It's not yet clear how close to optimal the DPT SmartRAID IV implementation is as compared to vinum, but for now it looks like vinum wins.

Second Round of Testing

This round of testing was conducted under FreeBSD 4.1-STABLE on a Dell PowerEdge 1300 with one Pentium III processor running at 450Mhz, and with 1MB L2 cache. The machine also had 1GB ECC RAM, and five Quantum Viking 2 9GB hard drives. The only controller used was a DPT SmartRAID V Century with 16MB of on-board ECC RAM cache, either using the on-board RAID capabilities or as a pass-through controller (the machine would not boot when the drives were connected to the on-board Adaptec controller). We were fortunate to be able to test on virtually the same hardware platform (albeit with a different version of the OS, so that we could get support for the DPT controller), so as to make the numbers as comparable as possible.

We have only tested RAID-5, and striping (RAID-0), figuring that these are the extremes of reliability versus performance, and that other choices such as RAID-1 (a.k.a. "mirroring") and RAID-1+0 (a.k.a. "mirroring+striping") would probably fall somewhere between. We have summarized these latest results and compared them against the previous tests, and have drawn some conclusions.

Note that the "natural" RAID-5 stripe size for the DPT controller is 32KB, but these tests were run with a stripe size of 128KB, and produced much, much better results.

Conclusions

However, this is not the whole story. We also need to look at tests that come a little closer to simulating real-world data access patterns than rawio, which simply runs four separate tests that are each 100% dedicated to either sequential or random I/O and reading or writing.

Real-world Application: Mail Servers