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%的分布情况。
这样可以分析长尾效应。
我们设置指标应该从思考用户最关心的方面入手,而不是从我们现在能度量什么入手。与其选择指标,再想出对应的用户目标。不如从用户目标推到除我们需要什么指标。
按照以上的说明,我们可以输出如下的指标:
- 系统90%的GET 请求在1ms内完成
- 系统99%的GET 请求在10ms内完成
- 系统99.9%的GET 请求在100ms内完成
SLO的选择
SLO不是一个纯粹的技术目标,而是设计产品和业务层的决策目标。
关于SLO的建议
保持简单
SLO越少越好
一定要保证每个SLO都是必不可少的
不要追求完美
可以在一开始用一个宽松的SLO,然后逐渐收紧。要比一开始设置了很高的SLO目标,而实际无法完成又去放松要好得多
SLA的选择
SLA更加超过SRE的职责范围。需要业务和法务团队主导。SRE主要是帮助业务和法务团队了解使用SLA的SLO目标的困难程度。避免SLA中出现难以达成的SLO