How should I calculate IOPS for RAID50 & RAID60?

7,415

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.

Share:
7,415

Related videos on Youtube

Stefan Lasiewski
Author by

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, 2022

Comments

  • Stefan Lasiewski
    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
      ewwhite almost 11 years
      Are you ignoring the effects of caching?
    • Stefan Lasiewski
      Stefan Lasiewski almost 11 years
      For 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
      ewwhite almost 11 years
      Wait, did you provide a total number of disks?
    • Stefan Lasiewski
      Stefan Lasiewski almost 11 years
      No 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
      ewwhite almost 11 years
      And 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
      ewwhite almost 11 years
      If ZFS, the calculation is different.
    • Stefan Lasiewski
      Stefan Lasiewski almost 11 years
      And 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
    ewwhite almost 11 years
    That assumes two parity groups on the RAID 50. What if the OP were to use 4 parity groups on the RAID 50?
  • Basil
    Basil almost 11 years
    then 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
    ewwhite almost 11 years
    Yes, because you're striping across parity groups.