RAID Penalties
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.