How should I calculate IOPS for RAID50 & RAID60?
Here are the basics of the calculation:
- A 16-drives RAID-50 array has the same read and write IOPS as two 8-drives RAID-5 arrays.
- A 16-drives RAID-60 array has the same read and write IOPS as two 8-drives RAID-6 arrays.
You have to calculate the IOPS of the RAID arrays being used to build the block, then add them together.
You can't make an easy formula for these spanned RAID types. You would need to include the number of underlying RAID groups and the characteristics of each, calculating each member raid and adding them together.
Related videos on Youtube
Stefan Lasiewski
Stefan Lasiewski Daddy, Linux Guy, Bicyclist, Tinkerer, Fixer & Breaker of things. I work as a Senior SYstem Engineer at the National Energy Research Scientific Computing Center (NERSC) Division at Lawrence Berkeley National Laboratory (LBNL) in Berkeley, CA. Father of 3 cute children. Yes I'm a sysadmin and a parent. Heavy user of CentOS, RHEL & FreeBSD for production services at work. I also run Ubuntu at home, for the simplicity. I'm a fan of Apache HTTP Server, Nagios & Cacti. Original proposer of unix.stackexchange.com (Yes, this proposal predated askubuntu.com, and I wish they would have merged with the Unix proposal.).
Updated on September 18, 2022Comments
-
Stefan Lasiewski almost 2 years
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?
-
ewwhite almost 11 yearsAre you ignoring the effects of caching?
-
Stefan Lasiewski almost 11 yearsFor the purpose of calculating IOPS, yes as I am trying to get an apples-to-apples comparison. I should probably look at caching effects also, but that's another question.
-
ewwhite almost 11 yearsWait, did you provide a total number of disks?
-
Stefan Lasiewski almost 11 yearsNo I did not. First need to determine the amount of drives necessary to provide a certain number of IOPS. Next step would be to find a server type (and chassis type) which can provide that many drive slots. A common 2U server with 8 drive slots cannot provide a 4TB array at 800 IOPS, for example.
-
ewwhite almost 11 yearsAnd what type of controller? WIll this be hardware RAID or no? If software,w ill it be ZFS? If so, there are other considerations.
-
ewwhite almost 11 yearsIf ZFS, the calculation is different.
-
Stefan Lasiewski almost 11 yearsAnd that's something I've been wondering for a while, but I have not found a conclusive answer. Therefore, I will ask a new question: serverfault.com/questions/531319/…
-
ewwhite almost 11 yearsThat assumes two parity groups on the RAID 50. What if the OP were to use 4 parity groups on the RAID 50?
-
Basil almost 11 yearsthen it would be the same IOPS as the sum of the 4 underlying raids. Raid 50 and 60 are basically tying together multiple raids to do the same job.
-
ewwhite almost 11 yearsYes, because you're striping across parity groups.