I'm investigating some 4TB database systems and I'm comparing differences between RAID-10 & RAID-50.
I know how to calculate the IOPS for common RAID levels like RAID-1, RAID-5 & RAID-10. However, I am unsure how to calculate IOPS for RAID-50 & RAID-60 systems, specifically with respect to the RAID Write penalties which are the bane of RAID-5 & RAID-6 system.
How would I calculate the IOPS for a RAID-50 system? Should I combine the RAID-10 & RAID-5 metrics somehow? What is the RAID write penalty for a RAID-50 or RAID-60 array?
We know that effective IOPS for RAID arrays can be calculated with the following formula
Ieffective = (n * Isingle) / (READ% + (F * WRITE%))
Where:
- Ieffective is effective number of IOPS
- Isingle is a single drive's average IOPS.
- n is number of disks in the array
- READ% is the fraction of reads taken from disk profiling
- WRITE% is the fraction of writes taken from disk profiling
F is the RAID write penalty (The number of operations required for each write). RAID Penalties for common raid levels are:
RAID Level Write Penalty RAID-0 1 RAID-1 2 RAID-5 4 RAID-6 6 RAID-10 2 RAID-DP 2
But what is the write penalty for a RAID-50 system?
Note: For people who are wondering about ZFS: IOPS used for ZFS RAIDZ, RAIDZ2 and RAIDZ3 are much, much improved compared to traditional RAID5 & RAID6: See Is calculating IOPS for ZFS RAIDZ different then calculating IOPS for RAID5 & RAID6?