Calculate achievable disk IOPS from rotational speed, seek time and queue depth.
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.
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)
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.
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.
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.