Service Level Indicator 服务水平指示器,服务水平,简称SLI。对于业务来说是最重要的指标。比如,对于网站来说,一个常见的SLI是请求得到正常响应的百分比。
只要遵从两个原则就可以:
通常情况下,可以直接使用谷歌的VALET指标方法。
Service Level Object 服务水平目标,是围绕SLI构建的目标。通常是一个百分比,并与一个时间范围挂钩。比如,月度、季度、年度等。通常用一连串9来度量。如果脱离了时间的度量,SLO的意义就不大了。
90%(1个9的正常运行时间):这意味着10%的停机时间,也就是说在过去的30天里停机了3天。
99%(2个9的正常运行时间):意味着在过去30天中有1%,或者说7.2小时的停机时间。
99.9%(3个9的正常运行时间):意味着0.1%,或者说43.2分钟的停机时间。
99.95%(3.5个9的正常运行时间):意味着0.05%,或者说21.6分钟的停机时间。
99.99%(4个9的正常运行时间):意味着0.01%,或者说4.32分钟的停机时间。
99.999%(5个9的正常运行时间):意味着0.001%,或者说26秒的停机时间。
Availability = Successful request Total request
那么什么样的指标才是 SLI 指标呢?下面我们就以最常见的 SLI 指标成功率,延迟率来看2个范例:
请求成功的 TCP 数量/总 TCP 请求数,即 TCP 请求成功率。
请求成功的延迟小于 200 ms 的请求数/总请求数,即 TCP 延迟小于 200ms 的的比例。
下面我们就来看他们对应的常见 SLO 的范例:
每月 TCP 请求成功率(SLI)大于 99.99%
每月 99.99% 的 TCP 请求延迟(SLI)小于 200ms
这就是我们其实在实际 SLI,SLO 设定中最常见的 2 个指标及其范例
Service Level Agreement 服务水平协议,是企业围绕SLO发布的协议。它要求在不满足SLO时向客户补偿的协议。
Availability = Uptime (Uptime + Downtime)