三个层次是什么
SLI 是实测指标(成功率、延迟分位),SLO 是对内的目标线(如 p95 低于 300 毫秒、30 天可用性 99.9%),SLA 是对外的合同承诺,通常带赔偿条款。三者是围栏关系:SLA 宽于 SLO,中间留出故障与演练的余量。延迟必须看分位数——均值掩盖长尾,而用户体感由 p95 与 p99 决定。
基本信息
| SLI | 可测量的指标:可用性、延迟分位、错误率、吞吐 |
|---|---|
| SLO | 对内目标:目标值加达标周期,例:30 天可用性不低于 99.9% |
| SLA | 对外承诺与罚则,必须比 SLO 宽松 |
| 误差预算 | 1 减去达标率,用尽则冻结高风险变更先还债 |
| 延迟口径 | 服务端处理、排队等待、网络分段测量,别混成一个数 |
| 工具落点 | 压测门禁阈值、监控告警规则、事故等级判定 |
目标写法示意
目标写法示意
SLI:请求成功率、p95 与 p99 延迟(按分钟聚合)
SLO:30 天可用性 >= 99.9%;p95 <= 300ms;p99 <= 800ms
SLA:对外承诺 99.5%,连续不达标按合同补偿(示意,非真实条款)
余量:SLA 与 SLO 之间的差额留给故障窗口与演练损耗典型使用场景
- 性能门禁:把 SLO 数值直接写进压测阈值,自动判定
- 容量规划:按峰值分位留出缓冲再定扩容数量
- 故障决策:误差预算剩多少决定这次发布能不能冒险
- 跨团队对齐:用数字替代「快」「稳定」这类形容词
- 事故分级:超过多少分位受损才升级为事故
- 对外承诺管理:销售签 SLA 前先核对 SLO 历史达标情况
分位数怎么读
| 分位 | 含义 | 用途 |
|---|---|---|
| p50 | 一半请求快于该值 | 看典型用户体验 |
| p95 | 95% 请求快于该值 | 常用 SLO 目标线 |
| p99 | 仅 1% 请求更慢 | 暴露长尾与极端场景 |
| max | 最慢的一次 | 波动参考,勿单独下结论 |
p99 不是「1% 的影响」:每分钟十万请求意味着上千个慢请求,对支付、下单这类链路足以产生真实投诉。
别用平均值包装性能:均值 200ms 可能是 95% 请求 50ms 加 5% 请求 3 秒的组合,报表好看、用户遭殃。
达标率统计口径要写进文档:按请求还是按时间窗、是否剔除计划内维护,口径不一致,跨团队永远对不上账。