Why it matters
Queues behave non-linearly. At 50% utilisation almost nobody waits; at 90% waits explode, and one extra worker can cut them by an order of magnitude. Rules of thumb such as "keep CPU under 70%" miss this, and simple division (arrivals x time / workers) says nothing about waiting.
This calculator uses queueing theory: the M/M/c model and its Erlang C formula, the same maths call centres use to staff phones, applied to job queues, thread pools and API workers. It lists every worker count from the minimum stable one upwards, so you can see where adding capacity stops paying off, and marks the fewest workers that meet your target.
How to use it
- Enter how many jobs arrive per second, minute or hour.
- Enter the average time to handle one.
- Set a target, such as 95% of jobs starting within 500 ms.
- Read the table and pick a worker count with headroom.
FAQ
What is Little's law?
The average number of jobs in a system equals the arrival rate times the average time each spends there (L = λW). It holds for almost any stable queue.
What is Erlang C?
A formula for the probability that an arriving job has to wait when c servers share one queue with random arrivals and service times.
Why does the wait shoot up near 100% utilisation?
Random bursts arrive faster than workers can clear them, and with no spare capacity the backlog takes a long time to drain.
What if my jobs take a fixed time?
Set service time variability to 0. Waits roughly halve compared with random service times.