Skip to content
Calcrivo

Disk IOPS Calculator

Estimate achievable random IOPS for HDDs from rotational speed and seek time, or for SSDs from queue depth and latency.

Inputs

ms

Time to transfer one block once the head is positioned, typically 0.1-1ms

µs

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

  1. 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

  2. HDD random IOPS

    IOPS = 1000 / (seek_time_ms + rotational_latency_ms + transfer_time_ms)

  3. SSD IOPS with queue depth

    IOPS = queue_depth × (1000 / latency_ms)

  4. Estimated IOPS

    = 320,000.0

  5. Disk Profile

    = SSD

  6. Average Access Latency

    = 0.100 ms

  7. 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.

You might also need