Take the 2-minute tour ×
Server Fault is a question and answer site for professional system and network administrators. It's 100% free, no registration required.

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?

share|improve this question
    
Are you ignoring the effects of caching? –  ewwhite Aug 14 '13 at 22:58
    
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. –  Stefan Lasiewski Aug 14 '13 at 23:02
    
Wait, did you provide a total number of disks? –  ewwhite Aug 15 '13 at 12:58
    
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. –  Stefan Lasiewski Aug 15 '13 at 17:17
    
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 Aug 15 '13 at 17:23

1 Answer 1

up vote 2 down vote accepted

For 16 drives in a raid 50, they have the same read and write IOPS as two 8 drive raid 5 arrays. For 16 drives in a raid 60, they have the same read and write IOPS as two 8 drive raid 6 arrays. Calculate the raids being used to build the block, then sum them up.

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. You are really best just calculating each member raid and adding them up.

share|improve this answer
    
That assumes two parity groups on the RAID 50. What if the OP were to use 4 parity groups on the RAID 50? –  ewwhite Aug 15 '13 at 12:57
1  
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. –  Basil Aug 15 '13 at 13:02
    
So if I had two RAID 5 arrays which could each provide 500 IOPS (for example), then my RAID50 array would be 500 IOPS x 2 = 1000 IOPS? –  Stefan Lasiewski Aug 15 '13 at 17:18
1  
Yes, because you're striping across parity groups. –  ewwhite Aug 15 '13 at 17:22

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.