IOPS and disk throughput

A drive’s headline IOPS number rarely matches what you get with your actual block size and queue depth. This calculator works in the other direction — from a measured latency and block size, it estimates IOPS and throughput, with an optional multiplier for parallel queue depth.

Input data

Enter average latency in ms — not a vendor “5000 IOPS” spec. The calculator derives IOPS (⌊1000 / ms⌋) and throughput from latency and block size.

Quick examples:

Results

Enter data and click Calculate.

IOPS vs throughput (MB/s)

IOPS is operations per second. Throughput is bytes per second (MB/s). This calculator derives IOPS from latency (⌊1000 / ms⌋), then MB/s from IOPS × block size. High IOPS does not always mean high MB/s — with small blocks you can have many operations and little data moved.

How IOPS × block size becomes MB/s

Simple relationship: throughput (KB/s) ≈ IOPS × block size (KB), then ÷ 1024 → MB/s. Intuition when you already know IOPS: 10,000 IOPS × 4 KB ≈ 40,000 KB/s ≈ 39 MB/s. The same IOPS at 64 KB blocks is ~640 MB/s — if the drive and controller can sustain it.

Optional parallelism (queue depth) multiplies effective IOPS in a simplified model — real SSDs/NVMe scale well; HDDs much less so.

Random vs sequential workloads

  • Random small blocks (4–8 KB) — typical for databases and indexes; IOPS and latency matter most.
  • Sequential large blocks (64 KB–1 MB+) — backups, media, scans; MB/s matters most.
  • Small random I/O hurts HDDs (seek) and stresses SSDs under heavy write; cloud IOPS limits are often separate for read/write.

HDD, SSD, NVMe and cloud IOPS limits

TypeRandom 4K IOPS (approx.)Typical latency
7200 rpm HDD~75–100~5–10 ms
SATA SSD~10,000–90,000~0.1–1 ms
NVMe SSD~100,000–1,000,000+~0.02–0.1 ms

In the cloud (EBS, Managed Disks, Persistent Disk) you often get a volume IOPS and MB/s cap — design databases against those limits, not against a local drive’s brochure IOPS.

Examples

  • 0.1 ms, 4 KB block → 10,000 IOPS ≈ 39 MB/s (same as 10k IOPS × 4 KB).
  • 2 ms, 64 KB block → 500 IOPS ≈ 31 MB/s (same as 500 IOPS × 64 KB).
  • Same IOPS, different block: 10,000 IOPS × 4 KB ≈ 39 MB/s; × 16 KB ≈ 156 MB/s — larger blocks raise MB/s when the workload is sequential.

FAQ — IOPS

Is higher IOPS always better than higher throughput?
No — it depends on the workload. Databases and small random I/O need IOPS/low latency; backups and streaming need MB/s. Optimize for your pattern, not one brochure number.
Why does small-block random I/O hurt database performance?
Each query triggers many small reads/writes. With low IOPS the queue grows, query latency spikes, and timeouts appear even when CPU looks idle.
How do cloud IOPS limits affect design?
Volumes often have hard IOPS and MB/s caps. If the DB exceeds them, buy more IOPS, shard data, or move hotspots to a faster disk class — a bigger VM alone may not help.
What is the difference between IOPS and MB/s?
IOPS counts operations; MB/s counts data. With 4 KB blocks, high IOPS can still mean modest MB/s; with large blocks the reverse is common.
What does optional parallelism do in this calculator?
It multiplies effective IOPS (a simplified queue-depth model). Real SSDs/NVMe benefit from queue depth; HDDs much less.
Why does vendor IOPS differ from my measurement?
Specs often come from ideal benches (100% 4K read, high queue). Real mixed read/write and block sizes usually score lower.
Does RAID change IOPS?
Yes — striping can add parallelism; parity (RAID 5/6) usually makes writes more expensive. This calculator uses the latency you enter for the volume; it does not model RAID separately.
How do I relate the result to a database?
Measure I/O latency and IOPS under load (iostat, cloud metrics). If the calculator’s IOPS at your latency sits below the volume limit, you have headroom; if traffic is higher, you are near the bottleneck.