Skip to content
ENExplore Calculators

Disk Queue Length Calculator

Calculate average disk queue length from IOPS and service time using queuing theory.

About Disk Queue Length Calculator

Disk queue length grows non-linearly with utilization: the M/M/1 queuing approximation L = ρ/(1−ρ) (ρ = utilization fraction) shows that queue length is small at low utilization but rises sharply as utilization approaches 100% — going from 80% to 95% utilization roughly triples average queue length. Alternatively, Little's Law (L = λ × W) computes average items in the system directly from arrival rate (IOPS) and average time each request spends in the system, without assuming a specific queuing model.

Formulas

Utilization-based queue length (M/M/1)

avg_queue = utilization / (1 − utilization)

\rho
utilization fraction (0-1)

Little's Law

L = λ × W

\lambda
arrival rate (requests/sec)
W
average time in system (sec)

Worked example

With the default values below, Disk Queue Length Calculator returns Average Queue Length of 2.333. Change any input above and every figure here is recalculated in your browser.

Inputs used

Input Basisone of Utilization (%util from iostat), Arrival rate (λ) and service time (Little's Law)
Utilization (%util from iostat)
Disk Utilization (%util)accepts 0–99.9
70
Arrival Rate λ (IOPS)minimum 0
500
Average Time in System W (ms)minimum 0
4

Results

Average Queue Length
2.333
Method Used
Utilization-based (M/M/1 approximation: L = ρ / (1 − ρ))
Interpretation
Moderate utilization — queue length grows noticeably; monitor during peak load.

Step by step

  1. 1Values used
  2. 2Utilization-based queue length (M/M/1)
  3. 3Little's Law
  4. 4Average Queue Length= 2.333
  5. 5Method Used= Utilization-based (M/M/1 approximation: L = ρ / (1 − ρ))
  6. 6Interpretation= Moderate utilization — queue length grows noticeably; monitor during peak load.

Assumptions and limits

  • The result is derived only from the 4 inputs listed above. Anything not among them is not part of the calculation.
  • In particular, this calculator does not take inflation, tax, fees or charges or compounding frequency into account.
  • Figures are rounded for display to 3 decimal places, so totals built from several rounded parts can differ slightly from the unrounded arithmetic.

How these calculators are built and tested is described on the Methodology page. If a figure looks wrong, please report it.

Frequently Asked Questions

Why does queue length spike so much at high utilization?

Because L = ρ/(1-ρ) has a vertical asymptote as ρ approaches 1 — at 50% utilization L=1, at 90% L=9, and at 99% L=99. This is why disk subsystems that look 'fine' at moderate load can suddenly show severe latency once utilization crosses roughly 80-85%, and why %util is a leading indicator of trouble, not just a usage statistic.

How do I read disk queue length from iostat?

`iostat -x 1` reports avgqu-sz (or aqu-sz on newer versions) directly as the average queue length, alongside %util, r/s, w/s and await — comparing avgqu-sz against this calculator's estimate is a good sanity check on whether your system matches simple queuing theory assumptions.

Is the M/M/1 model accurate for real disk I/O?

It's a useful approximation, not an exact model — real disk I/O has variable service times, multiple concurrent queues (per-CPU or per-NVMe-queue), and request merging/reordering that M/M/1 doesn't capture. Treat the result as a directional estimate of how queue length scales with load, not a precise prediction.

Disk Queue Length Calculator | Calcrivo