RAID vs. Raptor: Experiments in Disk Performance
The other day I realized that I don’t actually have a good performance metric for the speed of drive operations, for example compiles. Compiles are potentially quite slow since they can hit files all over the platter; random access reads, and especially writes, are brutal: it’s the worst-case performance for hard drives, and it is almost exactly what most normal everyday computing operations are limited by. How normal and everyday? Application launch time, for example, is bottlenecked by random-access read performance.
Lacking such a metric makes it difficult to assess the potential costs or benefits of putting files on one drive or another. For example, my boot volume is a RAID stripe of two 7200rpm drives; another volume is a 40GB 10,000rpm Raptor. Which is the better place to put /Developer and ~/Developer, when looking to optimize compile times?
I downloaded Xbench and ran a few tests of random access reads and writes to each volume, plus to a sparse disk bundle stored on the RAID stripe. And the winner…?
The RAID stripe, every time. Fascinating! For the curious, the difference between the RAID stripe
There are other metrics that are much harder to get but important to daily use of the system, too: How long does it take to spin up the drive? If I put /Developer and ~/Developer on another drive—which I did until I measured this ☻—and that drive spins down, how long will it take to spin up when I need to access something on it? This is annoying to measure, in practical terms, but it turns out that the fundamental answer is really easy: too long. Far, far too long. And it’s even worse if you boot off a single drive and have other stuff on the RAID stripe, since if that spins down, both drives will need to be spun back up, and the OS does it one at a time, not in tandem. (Why would it do that to me?)
There are two morals to this story:
- Measure, measure, measure! Without measurements, you’re guessing, and even clever guesses are still guesses. (The above-mentioned Xbench is a great tool for turning hunches into figures, incidentally. Give it a shot.)
- Bring on the SSDs! Random-access speeds are by far the best aspect of SSDs with proper firmware (i.e. not enterprise-oriented ones), and from what I’ve heard from colleagues of mine who have saved their pennies and taken the plunge, the result ought to embarrass hard drive vendors: application launch times, for example, are “lightning fast”.
Now we just need to get SSD capacities up and prices down, stat!