Skip to content

Kingman queueing approximation

Estimate a single-server mean queue wait from utilisation, arrival variability and service variability, with a worked GI/GI/1 example and clear limits.

The Kingman queueing approximation estimates the long-run mean time spent waiting before service in a single-server queue from three ingredients: utilisation, variability and mean service time. For a quant developer modelling a serial risk-calculation worker, it explains why an acceptable average processing time can coexist with a much longer queue wait as the worker approaches capacity.

The commonly used formula is

E[Wq]≈ρ1−ρca2+cs22E[S].\mathbb{E}[W_q]\approx \frac{\rho}{1-\rho} \frac{c_a^2+c_s^2}{2} \mathbb{E}[S].

Here WqW_q excludes service. SS is service time, AA is the gap between successive arrivals, and

λ=1E[A],ρ=λE[S]<1,ca2=Var(A)E[A]2,cs2=Var(S)E[S]2.\lambda=\frac{1}{\mathbb{E}[A]},\qquad \rho=\lambda\mathbb{E}[S]<1,\qquad c_a^2=\frac{\text{Var}(A)}{\mathbb{E}[A]^2},\qquad c_s^2=\frac{\text{Var}(S)}{\mathbb{E}[S]^2}.
The last two inputs are squared coefficients of variation, not standard deviations. Both factors before E[S]\mathbb{E}[S] are dimensionless, so the answer inherits the service-time unit. This product is often called the VUT formula: variability × utilisation × time. Stidham's §2.3 gives this mean-wait form.

What queue is being approximated?

Use the formula here for a stable GI/GI/1, first-come, first-served queue: independent, identically distributed interarrival gaps; independent, identically distributed service times; and independence between the two sequences. The arrival process is therefore a renewal process. Assume positive finite means, finite variances, an unlimited waiting room, no abandonment, and a server that works whenever a job is present.
These assumptions allow general distributions; they do not allow arbitrary dependence merely because their notation contains “G”. Boon, Janssen and van Leeuwaarden formulate the independent single-server model and distinguish its heavy-traffic limits from finite-load approximations.

Eight jobs per second

Consider a fictional risk-calculation worker with these stipulated inputs:
InputValue
Arrival rate λ\lambda8 jobs/second
Mean interarrival gap E[A]\mathbb{E}[A]0.125 seconds
Mean service time E[S]\mathbb{E}[S]0.1 seconds/job
Interarrival squared coefficient ca2c_a^21.5
Service squared coefficient cs2c_s^20.5

The worker's utilisation is ρ=8×0.1=0.8\rho=8\times0.1=0.8. Therefore,

E[Wq]≈0.80.2×1.5+0.52×0.1=0.4 seconds.\mathbb{E}[W_q]\approx \frac{0.8}{0.2}\times\frac{1.5+0.5}{2}\times0.1 =0.4\text{ seconds}.

Mean time in the system includes the job's own service:

E[T]=E[Wq]+E[S]≈0.4+0.1=0.5 seconds.\mathbb{E}[T]=\mathbb{E}[W_q]+\mathbb{E}[S] \approx0.4+0.1=0.5\text{ seconds}.

The addition is exact; the numerical estimate inherits the queue-wait approximation. These are model calculations, not observed trading-infrastructure latencies or execution-time forecasts.

Fictional single-server Kingman estimates with mean service 0.1 seconds. For variability factor 1, mean queue wait rises from 0.4 seconds at utilisation 0.8 to 0.9 seconds at 0.9. Halving the variability factor halves the estimates.
Fictional single-server Kingman estimates with mean service 0.1 seconds. For variability factor 1, mean queue wait rises from 0.4 seconds at utilisation 0.8 to 0.9 seconds at 0.9. Halving the variability factor halves the estimates.
Original sensitivity calculation for a stipulated GI/GI/1 FCFS queue. Mean service stays at 0.1 seconds while arrival rate changes; the curves show approximate mean queue waits, not measured latencies.
Raise arrivals to 9 jobs/second while preserving service time and both squared coefficients. Utilisation becomes 0.9 and the approximate mean queue wait becomes 9×1×0.1=0.99\times1\times0.1=0.9 seconds: 2.25 times the original estimate. Alternatively, at utilisation 0.8, reducing ca2c_a^2 from 1.5 to 0.5 while keeping cs2=0.5c_s^2=0.5 halves the variability factor and the predicted wait to 0.2 seconds. These comparisons isolate different inputs; changing processing speed in practice can also change service variability.

A mean estimate has a narrower job than a latency model

Heavy traffic supplies the rationale, not a universal accuracy guarantee. Kingman's result concerns a suitably scaled stationary waiting time as utilisation approaches one from below. Its limiting distribution is exponential under appropriate conditions. The heavy-traffic queueing approximation addresses that distributional statement; the formula on this page is a practical estimate of a mean at a specified load. Neither the formula nor the 0.4-second answer determines a 99th percentile or a deadline-breach probability. Kingman's 1962 summary states the scaled limiting result.
Some special cases are exact. If arrivals really are Poisson, ca2=1c_a^2=1, and the expression reduces to the exact Pollaczek–Khinchine mean-wait formula for an M/G/1 queue. Merely observing ca2=1c_a^2=1 does not establish Poisson arrivals. In the general renewal case, treat the displayed expression as an approximation, not a universal upper bound. Stidham identifies the exact M/GI/1 special case.
Check the inputs before interpreting a change. Serial dependence, changing arrival intensity and service interruptions can invalidate this model. Two marginal squared coefficients cannot describe autocorrelated bursts; an infinite service-time variance makes cs2c_s^2 unusable. Even with finite variances, tail shape can matter away from heavy traffic. For transient congestion or tail-latency decisions, use a model retaining those features and validate it against the actual workload. The finite-load refinements in Boon and coauthors illustrate why different approximations can agree asymptotically yet differ before the limit.
For the arrival assumption itself, Renewal Processes and the Renewal Equation develops the independent-gap construction. The full lesson requires membership; a public preview is available.

Sources

Last updated
  • queueing
  • waiting times
  • utilisation
  • renewal processes
  • heavy traffic
← Back to the glossaryBack to top ↑