平均延迟陷阱是什么
请求延迟通常呈长尾分布:平均值达标不代表体验达标,少数慢请求会显著抬高 P99 却拉不动平均值。对外承诺与内部告警都应基于分位指标;只盯平均延迟,会放任「大部分很快、少数极慢」的形态长期存在,直到用户投诉才被发现。
基本信息
| 分布形态 | 长尾:多数请求快,少数极慢 |
|---|---|
| 平均值弱点 | 被大量快请求稀释,掩盖慢尾 |
| 替代指标 | P95、P99、最大值与错误率 |
| 解读方法 | 分位给结论,直方图给形态,两者结合 |
| 应用场景 | SLO 承诺、告警阈值、压测验收统一用分位 |
示例
示例
# 1000 个请求:950 个约 20ms,50 个约 500ms
平均值 = (950x20 + 50x500) / 1000 = 44ms
P95 约 20ms;P99 约 500ms
# 平均看起来不错,每 100 个请求仍有约 5 个经历 500ms典型使用场景
- SLO 设计:按分位数写目标,平均值只作参考。
- 压测验收:报告拆到接口与分位,避免一刀切。
- 告警阈值:对 P99 设置告警,慢尾恶化第一时间可见。
- 体验复盘:用户投诉卡顿时用分位数据定位时段与接口。
- 优化排序:按分位贡献最大的接口优先治理。
- 版本回归:比同一分位的版本间变化,而不是比均值。
延伸用法
- 容量评估:用分位拐点判断容量余量,而不是均值拐点。
- 变更验证:优化声明承诺改善的分位,回归时逐一复核。
该组数据里平均值(44ms)看起来不错,但每 100 个请求就有约 5 个经历 500ms;分位才能揭示这一点。
对外承诺写清口径:哪个接口、哪个分位、多大流量下,写明后才可验证。
分位数要同口径比较:同一时间窗、同一采样点、同一负载模型,跨条件比较会得出误导结论。
直方图是补充证据:分位判断是否达标,直方图判断是偶发抖动还是系统性劣化。