tools / queue-wait

Queue Wait Calculator (M/M/1)

How utilisation turns into waiting time in a single-server queue.

Response time (wait + service)

ms

Utilisation ρ

Queue wait

Avg in system

Max rate μ

Key facts

Utilisationρ = λ / μ = λ · S
Response timeW = S / (1 − ρ)
Queue waitWq = ρ · S / (1 − ρ)
Rule of thumb50% busy → 2× service time; 80% → 5×; 90% → 10×
AssumesRandom (Poisson) arrivals, random service times, one server, unlimited queue

Worked example

A worker takes 10 ms per request. Traffic is 80 req/s.

μ  = 1 / 0.010 s          = 100 req/s
ρ  = 80 / 100             = 0.80
W  = 10 ms / (1 − 0.80)   = 50 ms
Wq = 0.80 × 10 / 0.20     = 40 ms waiting

The work takes 10 ms, but users see 50 ms — four-fifths of it is queueing. Push to 90% busy and response time doubles to 100 ms.

Why the curve bends

Arrivals come in bursts. When a server is mostly idle, bursts drain quickly. As it gets busier, there is less idle time to absorb each burst, so queues build faster than load grows. That is why latency explodes well before 100% utilisation.

FAQs

My system has many servers. Does this still apply?

The shape holds, but more servers sharing one queue (M/M/c) wait less at the same utilisation. Treat M/M/1 as a conservative estimate.

What utilisation should I plan for?

For latency-sensitive work, many teams cap steady load around 60–70% per resource, so bursts don't push response time onto the steep part of the curve.

How does this relate to Little's Law?

L = λW still holds. With 80 req/s and W = 50 ms, there are on average 4 requests in the system — the same ρ/(1 − ρ) the calculator shows.

Sources

  1. Little, J. D. C. — A Proof for the Queuing Formula: L = λW (Operations Research, 1961)
  2. Harchol-Balter, M. — Performance Modeling and Design of Computer Systems (Cambridge University Press, 2013)

Related