M/M/c排队论
原创2026/9/12大约 2 分钟
M/M/c 是排队论(Queuing Theory)中最经典的多服务台模型:
M / M / c / ∞ / ∞
到达过程 / 服务时间 / 服务台数 / 队列容量 / 顾客总数
三个字母的含义
| 字母 | 含义 | 数学意义 |
|---|---|---|
| 第一个 M | Markovian 到达(无记忆) | 顾客到达服从 泊松分布,到达间隔时间相互独立、无记忆 |
| 第二个 M | Markovian 服务时间(无记忆) | 服务时间服从 指数分布,同样无记忆性 |
| c | 服务台数量 | c = 1 时退化为 M/M/1,c = ∞ 时退化为 M/M/∞ |
注:最后两个 ∞ 分别表示"队列容量无限大"和"系统中的顾客源无限多"。
核心参数
| 符号 | 含义 | 单位 |
|---|---|---|
| λ (lambda) | 顾客平均到达率 | 个/秒 |
| μ (mu) | 单个服务台的平均服务率 | 个/秒(每个服务台) |
| c | 服务台数量 | |
| ρ (rho) | 系统利用率, |
⚠️ 关键约束:必须满足 ,否则系统队列会无限增长(不稳定)。
衍生:
| 符号 | 含义 | 单位 |
|---|---|---|
| 1/μ (记为 S) | 单次服务平均时长,由 μ 衍生而来 | 秒 |
| λ/μ (记为 a) | 平均活跃服务台数,由 衍生而来 |
Little's Law(利特尔法则)
这是排队论中最重要的普适关系,不依赖具体模型假设:
| 符号 | 含义 |
|---|---|
| 系统中总顾客数(排队 + 正在服务) | |
| 队列中等待的顾客数 | |
| 顾客在系统中的平均停留时间 | |
| 顾客在队列中的平均等待时间 |
与线程池场景的对应关系
| 排队论 | 线程池 |
|---|---|
| 顾客到达率 λ | 任务提交速率(QPS) |
| 服务台数 c | 线程池工作线程数 |
| 服务率 μ | 单个线程处理任务的速率 |
| 单次服务平均时长 1/μ (记为 S) | 单个任务平均处理时长 |
| 系统利用率 ρ | 线程池的繁忙程度,越接近 1 越容易堆积 |
| 平均活跃服务台数 λ/μ (记为 a) | 线程池的活跃线程数 |
M/M/c 排队论计算器
戳👉 M/M/c 排队论计算器