Queue Simulator
The counter-intuitive thing about queues is that waiting time does not rise smoothly with load. At 50% capacity a queue is comfortable; at 95% it is a disaster; and the difference is not proportional. This simulates arrivals and service one event at a time and reports what happened, so the shape of that curve is something you can see rather than take on trust.
What this generator does
Simulates arrivals and service events directly rather than applying a closed-form formula. Each arrival joins one shared queue and is taken by whichever server frees up first, which is how a single-queue multi-server system actually behaves. Waiting times are recorded individually and the averages are computed from them, so the headline figure is a measurement rather than a prediction.
How to use this tool
- Set how many customers arrive per hour and how many one server can handle.
- Choose how many servers share the queue.
- Simulate, then raise the arrival rate a little and look at the wait again.
- Seed it to compare two configurations on identical arrivals.
Understanding the controls
- Arrivals per hour
- How many customers turn up in an average hour. Arrivals are Poisson, so they cluster rather than spacing evenly.
- Served per hour, per server
- Capacity of one server. Multiply by the server count for total capacity.
- How many servers
- One shared queue feeding this many servers. Two servers at half the speed each is not the same as one fast server, and this is where you can see why.
- Hours to simulate
- Longer runs give steadier averages. Short runs are noisy, which is honest rather than a fault.
- Seed
- Any word reproduces the same result exactly. Leave it empty and the browser's cryptographic generator is used instead.
Common use cases
- Working out whether one more server would actually help
- Showing why a service that copes at 80% load collapses at 95%
- Sizing a support desk, checkout or helpline before committing
- Teaching queueing intuition without the algebra
- Comparing one fast server against two slower ones
How this generator works
Inter-arrival and service times are drawn from exponential distributions, which is what makes this an M/M/c model. Each customer is assigned to the server that becomes free soonest, and their wait is the gap between arriving and starting service. Traffic intensity is arrivals divided by total capacity; above 1 the queue grows without limit and the tool says so rather than quoting a tidy average.
Randomness and fairness
Arrival and service times are drawn at random, so two runs of the same configuration give different waits — that variability is the thing being demonstrated. A seed reproduces one run exactly and is therefore not cryptographically secure.
For how randomness is produced across the whole site, see how Generate Random works.
Limitations and good to know
- This is an idealised model: Poisson arrivals, exponential service, one shared queue, nobody gives up and nobody is prioritised. Real queues break all of those.
- It is a way to build intuition about how load and waiting relate, not a forecast for a specific operation.
- Above a traffic intensity of 1 the numbers describe only the window simulated — a longer run would show longer waits.
- Simulated runs are not kept. Seed a configuration if you want to compare it against another fairly.
Privacy and your data
Arrival rates, service rates and simulated waiting times are all computed in your browser and never leave it.
Related generators
- Markov Chain SimulatorDefine states and transition probabilities, then simulate — with a long-run distribution quoted only when the chain genuinely has one.
- Queue Waiting Time CalculatorClosed-form waiting times for a multi-server queue, with Little's law as the check and no finite answer offered for an unstable one.
- Task Allocation GeneratorShare tasks out across a team with real rules — must do, must not do, capacity limits — and a clear answer when the rules cannot all hold.
- Survey Sample Size CalculatorHow many people you need to ask for a given margin of error, including the finite population correction most calculators leave out.