RAID Penalties

From trapsink.com
Jump to: navigation, search


Write Penalty

The penalty is for how we deal with the stripe (parity, etc.) where 1 means no penalty.

RAID Level Write Penalty
0 1
1 2
5 4
10 2

Penalty Calculation

  • raw IOPS = disk speed IOPS * number of disks
  • functional IOPS = (raw IOPS * write% / write penalty) + (raw IOPS * read%)

Given 5x 15k SAS drives @ 900 IOPS (180/disk) as an average, a sample calculation for RAID-5, with varying levels of write vs read percentage:

16% writes: (900*.16/4)+(900*.84) = 792 / 900 = 88.0% efficiency
10% writes: (900*.10/4)+(900*.90) = 832 / 900 = 92.4% efficiency
 5% writes: (900*.05/4)+(900*.95) = 866 / 900 = 96.2% efficiency

Reducing the write percentage from 16% to 10% would yield an efficiency gain of 4.4%, from 16% to 5% yields an 8.2% gain. Writing to RAID5 and calculating parity is very costly - we haven't even talked about linear writes vs. scattered block writes. As an exercise, if the same 5-disk RAID-5 was converted to an 8 disk RAID-10 (to achieve the same capacity for data):

8*180 = 1440 raw IOPs
(1440*.16/2)+(1440*.84) = 1324 / 792 = 167% efficiency

This is all very basic math that doesn't take into account real world load and deals with theoretical maximums based on published standards. Use a tool such as fio to obtain real world performance.


References