首页/开发/软件测试速查/延迟 SLI 与 SLO

延迟 SLI 与 SLO

把性能目标写成 SLI/SLO:如 95 分位延迟、错误率与可用性,并绑定统计窗口考核;压测、监控与告警共用同一套指标口径,结论才能互相印证。

软件测试速查开发更新于 2026-10-13

三个层次是什么

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一半请求快于该值看典型用户体验
p9595% 请求快于该值常用 SLO 目标线
p99仅 1% 请求更慢暴露长尾与极端场景
max最慢的一次波动参考,勿单独下结论
p99 不是「1% 的影响」:每分钟十万请求意味着上千个慢请求,对支付、下单这类链路足以产生真实投诉。
别用平均值包装性能:均值 200ms 可能是 95% 请求 50ms 加 5% 请求 3 秒的组合,报表好看、用户遭殃。
达标率统计口径要写进文档:按请求还是按时间窗、是否剔除计划内维护,口径不一致,跨团队永远对不上账。

易错点

  • SLA 与 SLO 设成同一个值:没有任何缓冲,一次故障就直接违约
  • 只看平均响应时间:长尾被掩盖,问题在用户侧先爆发
  • 单次压测就下容量结论:忽略时段波动与缓存冷热,扩容数量失真
  • 达标率口径不统一:按分钟与按请求各算一套,复盘时先吵口径不查根因

数据来源与参考

  • Google SRE Book 与 SRE Workbook(SLI、SLO 与错误预算)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌