Disk IOPS Calculator
Estimate achievable random IOPS for HDDs from rotational speed and seek time, or for SSDs from queue depth and latency.
Inputs
Time to transfer one block once the head is positioned, typically 0.1-1ms
Typical NAND read/write latency, commonly 50-150µs
Number of concurrent outstanding I/O requests
Estimated IOPS
320,000.0
Disk Profile
SSD
Average Access Latency
0.100ms
Single-Queue IOPS (SSD only)
10,000
Step by step
Values used
Disk Type = SSD; Transfer Time (HDD only) = 0.5000 ms; SSD Latency per Operation (SSD only) = 100 µs; Queue Depth (SSD only) = 32
HDD random IOPS
IOPS = 1000 / (seek_time_ms + rotational_latency_ms + transfer_time_ms)
SSD IOPS with queue depth
IOPS = queue_depth × (1000 / latency_ms)
Estimated IOPS
= 320,000.0
Disk Profile
= SSD
Average Access Latency
= 0.100 ms
Single-Queue IOPS (SSD only)
= 10,000
How it works
For mechanical hard drives, each random I/O operation must wait for the read/write head to seek to the correct track, then wait for the platter to rotate the target sector under the head (rotational latency), then transfer the data — so IOPS is simply 1000ms divided by the sum of those three latencies. Solid-state drives have no moving parts and instead are limited by controller and NAND access latency per operation; because SSDs can service many requests in parallel, total achievable IOPS scales roughly linearly with queue depth up to the device's internal parallelism limit, so this calculator multiplies single-operation IOPS by the queue depth.
Formulas
HDD random IOPS
IOPS = 1000 / (seek_time_ms + rotational_latency_ms + transfer_time_ms)
- t_{seek}
- average seek time in ms
- t_{rot}
- average rotational latency in ms
- t_{xfer}
- data transfer time in ms
SSD IOPS with queue depth
IOPS = queue_depth × (1000 / latency_ms)
- Q
- queue depth
- L
- latency per operation in ms
Frequently Asked Questions
Why does queue depth matter so much for SSD IOPS but not HDD IOPS?
An HDD's mechanical head can only be in one physical location at a time, so queuing more requests mostly just adds waiting time rather than parallel throughput. SSDs have multiple NAND channels and no moving parts, so many operations genuinely execute in parallel, and total IOPS scales with queue depth until the controller's parallelism is saturated.
What is a typical rotational latency for a 7200 RPM drive?
Average rotational latency is half a full rotation: for 7200 RPM (120 revolutions/second), one rotation takes 8.33ms, so average latency is about 4.17ms — the value used as the default in this calculator.
Why is real-world IOPS often lower than this calculation?
This model estimates raw random-access IOPS from hardware latency alone. Real workloads also contend with filesystem overhead, RAID write penalties, controller cache behavior and mixed read/write patterns, all of which typically reduce effective IOPS below the theoretical hardware ceiling.