# Queuing Theory

Record: `arch:queuing-theory`
Kind: model
Layer: [Performance Core](https://banes-lab.com/records/layer/performance-core.md)
Severity: contextual
Scope: performance, capacity, system
Canonical: https://banes-lab.com/ontology#arch-queuing-theory

## Repair

- Refactored by: Size the system from an M/M/1 (or M/M/c) queuing model
- Detected by: latency collapsing as utilization approaches saturation
- Violated by: worker pool sized by guesswork with no arrival/service-rate model
- Measured by: predicted vs actual queue depth and wait time
- Enforced by: capacity review

## requires

- [Arrival and Service Rates](https://banes-lab.com/records/lex/arrival-and-service-rates.md)

## reinforces

- [Capacity Planning](https://banes-lab.com/records/lex/capacity-planning.md)
- [Latency](https://banes-lab.com/records/arch/latency.md)

## enables

- [Wait-Time Prediction](https://banes-lab.com/records/lex/wait-time-prediction.md)
- [Utilization-Based Sizing](https://banes-lab.com/records/lex/utilization-based-sizing.md)

## conflicts-with

- [Guess-Based Capacity](https://banes-lab.com/records/lex/guess-based-capacity.md)

## tensions-with

- [Model Assumptions](https://banes-lab.com/records/lex/model-assumptions.md)

## tensions

- [Queuing Theory Model Assumptions](https://banes-lab.com/records/tension/model-assumptions-queuing-theory.md)

## contracts

- [Queuing Theory](https://banes-lab.com/records/algo/queuing-theory.md)
