Question to the Storage Advisors, from John: The age old question…RAID 5 vs. RAID 0+1 with a twist on spindles. Here’s the deal: Multiple Progress databases. Much more read intensive that write intensive. Which is faster: (2) RAID0 sets of 4 disks that are then mirrored (8 disks total) OR all 8 disks in a RAID5 config? I’m trying to figure out if more disk spindles outperforms less spindles without the RAID5 overhead.
John, good question. First, let’s talk about the RAID-0 and RAID-1 combination. You mention mirroring two 4-drive RAID-0’s. But the more typical approach is to stripe four 2-drive RAID-1’s. The end result as far as performance and capacity is the same, but the reliability and rebuild time is better with the latter - striped RAID-1’s. The reason is that if a single drive fails in the former mirrored RAID-0’s case then the entire set of 4 drives in the RAID-0 is typically taken off-line. This means that the array can tolerate at most one drive failure, but all four drives will have to be rebuilt. However with the latter striped RAID-1’s case, a single failed drive causes just one mirror pair to be rebuilt. In fact, you could actually have one drive in each RAID-1 fail and still have the array on-line.
So as far as your original question, it doesn’t actually matter which version of RAID-10 is being used. Both versions will provide the same performance assuming that no drives are failed, and also assuming that the queue depth from the host is large enough and random enough to cause all the drives to be accessed.
In your example the access pattern is mostly reads and mostly random (because it’s a database). Just for the sake of comparison, let’s say that it is 100% reads and 100% random. The end result is that all eight of the drives will see a command, or an IO. That means that if each drive can do 100 IOs per second, then the RAID-10 can do 800 IOPS total.
On a RAID-5 with 100% reads there are no RAID-5 calculations other than the block redirection due to the striping, which is almost identical to the redirection in RAID-10. So the end result is that all eight drives are used (since parity is distributed across all drives), and therefore RAID-5 will do the same 800 IOPS as RAID-10.
So, if you’re doing 100% reads, the RAID levels are identical in performance.
But your data base isn’t 100% reads, so let’s look at what happens with 100% writes. With RAID-10, each host access will be written to two drives, so the array performance will drop to one-half, or 400 IOPS. However with RAID-5 each host access is converted to four IOs (two reads and two writes), so the array performance will drop to one-quarter, or about 200 IOPS. (It’s a little more complicated than that, but this is a pretty good estimate.)
Now you’ll have to determine the real read/write ratio and calculate the harmonic mean to estimate the performance impact of these write commands. For example, if the ration was 50:50, then the RAID-10 would get around 533 IOPS and the RAID-5 would get around 320 IOPS.
The bottom-line is that the more writes you have the more RAID-5 will hurt performance. But if writes are rare, then the improved capacity of RAID-5 may warrant the slight performance hit.
Good luck!
TT
- Share
-
-
-
-
-
-
Send to a friend
-
more...
- | Post a Comment






