hello云胜

技术与生活

0%

sre4

slo

sli

sla

SLI 服务质量指标

SLI是指一个具体的质量指标。

比如请求延迟(处理一个请求所需要的事件),错误率(请求处理失败的比率),系统吞吐量(每秒请求数量)。

可用性代表服务可用时间的百分比,是指能正确处理业务请求的时间。

运维行业经常用9的数量来描述可用程度。例如,99%可用性被 称为“2个9”,99.999%被称为“5个9”。99.95%可用被称为“3.5 个9”

SLO 服务质量目标

目标是要达到的某个SLI值或者范围。

举例来说,请求延迟的SLO目标是100ms。

不适合用qps来slo,因为qps是依赖于用户的请求。

有趣的是,经常多个sli之间会互相影响。比如qps高了之后,可能导致请求延迟也变高。

SLA 服务质量协议

是一种保证。描述了在达到或者没有达到SLO 之后的后果。

区别SLO 和 SLA 的一个简单方法是问“如果 SLO 没有达到时,有什么后果?”如果没有定义明确的后果,那么我们就肯定是在讨论 一个SLO, 而不是SLA

具体操作

SKI的选择

SLI指标是不是越多越好?当然不是,一般而言,4、5个有用的核心指标就可以了。指标过多反而会影响那些真正有用的指标。

如何选出这几个有用的指标?必须真正理解用户对系统的需求。

一般来说,sre更倾向于分析一组指标数据的百分比分布,而不是算数平均值。比如延迟50%,90%,99%的分布情况。

这样可以分析长尾效应。

我们设置指标应该从思考用户最关心的方面入手,而不是从我们现在能度量什么入手。与其选择指标,再想出对应的用户目标。不如从用户目标推到除我们需要什么指标。

按照以上的说明,我们可以输出如下的指标:

  1. 系统90%的GET 请求在1ms内完成
  2. 系统99%的GET 请求在10ms内完成
  3. 系统99.9%的GET 请求在100ms内完成

SLO的选择

SLO不是一个纯粹的技术目标,而是设计产品和业务层的决策目标。

关于SLO的建议

  1. 保持简单

  2. SLO越少越好

    一定要保证每个SLO都是必不可少的

  3. 不要追求完美

    可以在一开始用一个宽松的SLO,然后逐渐收紧。要比一开始设置了很高的SLO目标,而实际无法完成又去放松要好得多

SLA的选择

SLA更加超过SRE的职责范围。需要业务和法务团队主导。SRE主要是帮助业务和法务团队了解使用SLA的SLO目标的困难程度。避免SLA中出现难以达成的SLO