M/M/1:利用率与尾延迟

本页目录

M/M/1 把随机到达和随机服务压缩成一个能完整求解的模型。它解释利用率接近 1 时的非线性等待,也展示为什么一个平均值不足以代表用户经历。

从状态平衡推到均值

假设外生 Poisson 到达率 ,服务时间独立指数分布、速率 ,两者相互独立;单服务台、FCFS、无限等待空间、不放弃、不重试。状态 为系统内请求数。到达使 ,速率 ;非空时完成使 ,速率 。

稳态相邻状态满足 。令 ,归一化几何级数得到:

于是:

时无限状态链没有可归一化的稳态分布,不能继续代入求出“负等待”。 也不是随机系统的安全平衡点。

一个可以精确计算的尾部

到达者以概率 看见前方 个请求。指数服务无记忆,因此它的系统时间是 个独立指数服务之和;按几何权重混合后得到:

等待时间不同:有 的概率直接开始服务。

系统时间的 分位数为 。因此本模型中 p99 约为均值的 4.605 倍;这不是任意线上服务的比例。

正在呈现知识画面
M/M/1:利用率与尾延迟 · 实验

稳态M/M/1、FCFS、无限等待空间,μ=100/s。Wq尾部在t=0为ρ,因为其余请求无需等待;下图竖线标记当前利用率,均为模型内精确值。

固定 /s, 时,平均系统时间 50 ms、平均等待 40 ms、系统时间 p99 约 230 ms。变为 ,三者分别为 100、90、461 ms。服务均值始终是 10 ms。

用目标反推边界,但保留假设

若该模型要求系统时间 p99 不超过 200 ms,则:

当 /s 时,模型允许 /s。这里得到的是带条件的速率范围;真实服务若存在长尾、批量、多个阶段或变慢的下游,应重新建模并压测。

利用率曲线也不是扩容收益的全貌。增加线程可能不改变真正瓶颈的 ;如果引入争用, 反而下降。模型参数需要从服务占用和负载行为中识别。

自检

  1. 利用率 50%,是否有一半请求的总时延为零?
参考思路

有一半到达无需排队,但仍要服务。 在零处有概率质量, 没有。两者相差一个服务时间,不能把等待概率当成总时延分布。

  1. 能否把平均时延乘 4.605 作为生产 p99?
参考思路

只有在这里的稳态 FCFS M/M/1 模型适用时才有该精确关系。真实时延可能是混合分布、多阶段或相关过程,必须记录分布并检查模型误差。

延伸

MIT Urban Operations Research §4.6.1给出 M/M/1 的状态分析与系统时间分布。下一篇保留服务均值,放宽指数服务假设。