Queue Simulator
The supermarket dilemma as a live experiment: customers arrive at random, servers take their time, and you choose the layout — a single shared snake feeding every counter, or one line per till where customers pick the shortest and may jockey to a faster lane. Sliders set the arrival rate and the number of servers, a select swaps the service-time distribution between exponential, uniform and deterministic, and animated dots queue, advance and depart. Live statistics report the average wait, the 95th-percentile wait and server utilisation, with the theoretical M/M/c prediction overlaid for comparison, and an inset chart collects average wait against utilisation as you experiment — revealing the hockey stick that explains why a system at 95% load feels broken while one at 80% feels fine.
Runs 100% in your browser — simulations are computed locally on your device.
Read the full guide to this tool
Notes
- A single shared queue beats separate lines with the same total capacity: no server idles while anyone waits, and variance in service times stops mattering to fairness.
- Waiting time explodes as utilisation ρ approaches 1 — in an M/M/1 queue the average wait scales like ρ/(1−ρ), so going from 80% to 95% load roughly quintuples the queue.
- Variability is the other queue-killer: deterministic service halves the waiting of exponential service at the same utilisation (the Pollaczek–Khinchine formula makes it exact).
- Jockeying between per-server lines recovers some of the shared queue’s efficiency, which is why bank lines with visible tills behave better than highway toll plazas.
- Runs 100% in your browser — simulations are computed locally on your device.