赞
踩
SLA(Service-Level Agreement)服务等级协议,是指系统服务提供者(Provider)对客户(Customer)的一个可量化的服务承诺,常见于大型分布式系统中,用于衡量系统服务是否稳定健康的常见方法。
SLA是一种服务承诺,因此指标具备多样性, 业界主流常用指标包含:可用性、准确性、系统容量和延迟。
系统服务能正常运行所占的时间百分比,业界对可用性的描述,通常采用年故障时长。比如,数据中心机房划分为不同等级,如 T1~T4 机房,它们的 可用性 及年平均故障时间如下:
网络服务的可用性,通常也会折算为不能提供服务的故障时间长度来衡量,比如典型的 5 个 9 可用性就表示年故障时长为 5 分钟,如下表所示。
对于许多系统而言,四个9的可用性(99.99%),或每年约52.6分钟的系统中断时间,即可以被认为是具备高可用性。
准确性是指系统服务中,是否允许某些数据是不准确或者丢失,如果允许这样的情况发生,用户的容忍度(百分比,可以接受的概率)是多少,常见的衡量方式为:基于服务周期内的错误率计算准确性。
例如,我们在一分钟内发送100个有效请求到系统中,其中有5个请求导致系统返回内部错误,那我们可以说这一分钟系统的错误率是 5 / 100 = 5%,准确率为1 - 5% = 95%。
对于云服务而言,计算请求错误率时,计算时间范围越长越有利,因为时间越长,总请求数越多,错误率越有可能降得更低,一般有实力得服务商都会 从客户角度计算错误率,按照5分钟的粒度来计算,因为5 分钟是业界典型的机器故障恢复时间,能够快速修复机器,降低系统的错误率。
最终准确率为:
指系统能够支持的负载量,一般会以每秒的请求数为单位来表示,与CPU的消耗、外部接口、IO等等紧密关联,常见衡量指标:
常用评估公式:
峰值QPS或峰值TPS计算原理:每天80%的访问集中在20%的时间里,这20%时间叫做峰值时间。
示例:公司早上8:00上班,7:30到8:00这30分钟的时间内用户需登录签到系统进行签到,公司员工总数为1000人,平均每一个员上登录签到系统的时长为5分钟。
延迟(Latency),指系统收到用户请求到响应请求之间的时间间隔,在定义延迟的SLA时,常用p95和p99这样的延迟声明,这里的p指的是percentile,也就是百分位的意思,如果p95是1秒的话,那就表示在100个请求里面有95个请求的响应时间会少于1秒,而剩下的5个请求响应时间会大于1秒,P99同理。
这里以业界领先的分布式系统 - 阿里云对象存储OSS为例,看看一个世界最顶级的SLA长什么样
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。