redzilla
All tools
Datacenter

IOPS with RAID Penalty

Define the disks, RAID level and read/write mix and I compute the functional IOPS applying the write penalty (RAID5=4, RAID6=6, RAID1/10=2) over the raw IOPS.

Reference: HDD 7.2k≈80, 10k≈140, 15k≈180, SATA SSD≈20,000, NVMe≈100,000.

70% read 30% write
Examples
redzilla.cl — iops
 
Functional IOPS
application IOPS
Raw IOPS
physical array ceiling
Penalty
disk I/O per write
Functional
Raw
Backend W

Disk I/O split

Reads to disk
Writes to disk (with penalty)

At the operating point, the array's physical I/O () splits between reads and writes; each application write costs disk I/O.

The same workload on other RAID levels

RAIDPenaltyFunctional IOPSBackend W

With 8 disks of 180 IOPS and 70% read.

How it is computed · IOPS and the write penalty

Raw raw IOPS = number of disks × IOPS per disk. It is the physical ceiling of the array (all I/O to the backend).

Penalty each application write triggers several disk I/Os: RAID 0 = 1, RAID 1/10 = 2, RAID 5 = 4, RAID 6 = 6.

Functional functional IOPS = raw ÷ (read fraction + write fraction × penalty). These are the IOPS the application sees with that workload mix.

Backend W disk I/O from writes = functional IOPS × write fraction × penalty. Added to the reads it equals the raw IOPS.

Array-sizing model: it estimates how many disks you need for a workload at a given write percentage. The per-disk IOPS are reference values; measure your own for exact figures.

Runs locally in your browser · no sign-up · nothing leaves your browser

How it works

The calculator estimates the functional IOPS of a disk array: the IOPS the application actually sees once the cost of RAID redundancy is subtracted. You start from three inputs: number of disks, IOPS per disk (with reference profiles: 7.2k HDD≈80, 10k≈140, 15k≈180, SATA SSD≈20,000, NVMe≈100,000) and the read/write mix of the workload.

The model is the standard storage-sizing formula: raw IOPS are disks × IOPS per disk, and every application write triggers several physical I/Os depending on the RAID level (write penalty: RAID 0 = 1, RAID 1/10 = 2, RAID 5 = 4, RAID 6 = 6). Functional IOPS come from raw ÷ (read fraction + write fraction × penalty). The tool also shows the write backend, the split of physical I/O and a comparison table with the same workload on all five RAID levels.

Example: 8 × 15k HDDs in RAID 10 with a 70/30 mix

  1. Raw IOPS: 8 × 180 = 1,440 (the physical ceiling of the array).
  2. RAID 10 has a write penalty; with 70 % reads and 30 % writes the divisor is 0.7 + 0.3 × 2 = 1.3.
  3. Functional IOPS: 1,440 ÷ 1.3 ≈ 1,108. The same array in RAID 5 (4× penalty) would give 1,440 ÷ 1.9 ≈ 758.
  4. Write backend: 1,108 × 0.3 × 2 ≈ 665 disk I/Os, which added to the reads complete the 1,440 raw IOPS.

Frequently asked questions

Why does RAID 5 have a write penalty of 4 and RAID 6 a penalty of 6?
Because of the parity read-modify-write cycle. In RAID 5 every small write must read the data block and the parity block, then write both back: 4 disk I/Os. RAID 6 keeps two parity blocks, so it takes 2 reads and 4 writes: 6 I/Os in total.
How many IOPS does an HDD deliver compared with an SSD?
A 7,200 rpm HDD sits around 80 IOPS, a 10k drive around 140 and a 15k drive around 180, because they are limited by arm and platter mechanics. A SATA SSD delivers on the order of 20,000 IOPS and an NVMe drive can exceed 100,000. These are reference values: for precise sizing you should measure your actual drives.
What happens if my workload has more writes than I estimated?
Functional IOPS drop, and they drop faster the higher the RAID write penalty. With 8 disks of 180 IOPS in RAID 5, moving from 70/30 to 50/50 lowers functional IOPS from about 758 to about 576. That is why write-heavy workloads (databases, VDI) are usually sized on RAID 10 rather than RAID 5/6.
Does the difference between raw and functional IOPS matter when deciding how many disks to buy?
Yes, it is the whole point: the application only sees functional IOPS. If you need 2,000 IOPS with 30 % writes on RAID 5, the array must deliver 2,000 × (0.7 + 0.3 × 4) = 3,800 raw IOPS, which means almost twice the disks you would estimate from the raw figure alone.
Was this tool useful?
Disclaimer We take great care to keep every tool accurate and review it thoroughly; even so, we can't guarantee it is free of errors or take responsibility for how the results are used. We recommend double-checking anything critical.
Found an error? Let us know →