Storage IOPS Calculator
Estimate the raw and usable (front-end) IOPS of a disk array from drive count, per-drive IOPS, RAID write penalty and your read/write mix.
How it works
raw IOPS = drives × IOPS per drive · usable IOPS = raw ÷ (read% + write% × write penalty)
Raw IOPS is just the sum of what every drive can deliver, but that is not what applications see once RAID redundancy is in play. Each write to a parity or mirrored array turns into several back-end operations — the write penalty is 2 for mirroring, 4 for RAID 5 and 6 for RAID 6 — so a write-heavy workload consumes far more of the raw budget than a read. Weighting the raw figure by the read/write mix and the penalty gives the usable, front-end IOPS the array can actually serve. This is why write-intensive databases on RAID 5 or 6 often disappoint unless you add drives or move to mirroring or flash.
Worked example
Eight 15K drives at 180 IOPS give 1,440 raw IOPS. With a 70/30 read/write mix on RAID 5 (penalty 4): denominator = 0.70 + 0.30 × 4 = 1.90, so usable IOPS = 1,440 ÷ 1.90 ≈ 758.
Sources: IOPS — Wikipedia
Frequently asked questions
What is the RAID write penalty?
It is the number of physical disk operations each logical write triggers. RAID 5 must read old data and parity then write new data and parity — four operations — so its penalty is 4; RAID 6 is 6; mirroring is 2; RAID 0 is 1.
Why does the read/write ratio matter so much?
Reads carry no penalty, but writes are multiplied. A workload that is 90% reads barely feels RAID 5’s penalty, while a 50/50 or write-heavy load loses a large share of raw IOPS to redundancy overhead.
Are these per-drive IOPS figures exact?
They are typical ballpark numbers for random I/O. Actual IOPS depend on block size, queue depth, caching and the specific device, so use vendor benchmarks for precise sizing.
Related calculators
This calculator is for educational purposes. Double-check important results before acting on them.