Why RAID 10 doesn’t help on EBS
Russell over at UKD1 did some benchmarking of Amazon’s new Elastic Block Store (I’m not loving the name, but the product certainly does look compelling), using a single device, and various numbers of drives in RAID 0 (striping), RAID 5 (striping with parity), and RAID 10 (striping across mirrors).
His results show a single drive maxing out at just under 65MB/s, RAID 0 hitting the ceiling at 110MB/s, RAID 5 maxxing out about 60MB/s, and RAID 10 “F2″ at under 55MB/s.
He then writes,
EBS. However, I would have expected RAID 10 F2 to have similar performance to RAID 0, rather than the results seen.
First of all, after glancing at this “F2″ variant of RAID 10, I’ve got to say that I haven’t bothered to fully grok it. I’ll give the benefit of the doubt that it’s performant. He shows the command-line he used, and it clearly has 3 component volumes in it, and even if I understood how one might use F2, 3 volumes in a RAID 10 seems clearly wrong.
But assuming that the system is intelligent enough to make sense of it…
I also haven’t ever mounted an EBS volume on the EC2 instance I’ve set up.
But one thing is obvious as to why the RAID 10 F2 volume performed poorly… it’s obviously bandwidth constrained, probably by a single gigabit ethernet connection. Software mirroring requires that data is written twice, once to each set of disks. When the disks are on separate controllers, they’re not competing on the same storage bus. Even when they’re on the same controller, but it’s SCSI or FibreChannel or SATA or whatever it may be — the bus has higher throughput than the disks do. You won’t saturate a U320 SCSI bus with a pair of disks, the disks are the bottleneck.
I’m quite impressed by the 110MB/s achieved through striping… now imagine that for every write, you’re clogging the pipe with 2 copies… what would you expect the capacity for each set of data to be? Strangely enough… 55MB/s.
QED
Amazon’s description of EBS refers to it as “highly available, highly reliable volumes”, which I take to mean fault tolerant – I’d assume RAID 1,5,6, or Z (Sun’s ZFS Raid) – which would make the mirroring portion of RAID 10 unnecessary because Amazon’s already taking care of the redundancy, so I don’t see this as a downside.
8 comments August 24th, 2008
