指标 - 几个9、影响请求占比

2023/2/7

# 几个9

在系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9(也叫Service-Level Agreement,SLA,业界一般用几个9的SLA服务等级来衡量互联网应用的可用性),这个X是代表数字3~5。X个9表示在系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异

  • 3个9:(1-99.9%)36524=8.76小时,表示该系统在连续运行1年时间里最多可能的业务中断时间是8.76小时
  • 4个9:(1-99.99%)36524=0.876小时=52.6分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟
  • 5个9:(1-99.999%)36524*60=5.26分钟,表示该系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟

那么X个9里的X只代表数字3~5,为什么没有1~2,也没有大于6的呢?我们接着往下计算:

  • 1个9:(1-90%)*365=36.5天
  • 2个9:(1-99%)*365=3.65天
  • 6个9:(1-99.9999%)365246060=31秒

可以看到1个9和、2个9分别表示一年时间内业务可能中断的时间是36.5天、3.65天,这种级别的可靠性或许还不配使用“可靠性”这个词;而6个9则表示一年内业务中断时间最多是31秒,那么这个级别的可靠性并非实现不了,而是要做到从“5个9” 到“6个9”的可靠性提升的话,后者需要付出比前者几倍的成本 image.png

  • 一般来说,2 个 9 表示系统基本可用,年度不可用时间小于 88 小时
  • 3 个 9 是较高可用,年度不可用时间小于 9 个小时
  • 4 个 9 是具有自动恢复能力的高用可,年度不可用时间小于 53 分钟 (电商平台中(比如淘宝、京东、拼多多)都是在这个等级)
  • 5 个 9 指极高的可用性,年度不可用时间小于 5 分钟

# 影响请求占比

要知道,任何一家互联网公司,都有流量的低峰期和高峰期,你在低峰期停机 1 分钟和高峰期停机 1 分钟,对业务影响的结果完全不同。如果认识不到这一点,面试官很容易认为你很业余,并没有实践经验。

所以,仅凭理论指标在有些情况下是不能满足实际需求的,那有没有更加科学的度量方式呢?答案就是基于一段 时间(比如 1 年)的停机影响的请求量占比,进行评估,公式如下:

这样一来,你就可以评估,业务在高峰期停机和在低峰期停机分别造成多少的损失了。所以,如果你再回答系统高可用指标的时候,我建议你可以遵循这样的套路:先摆明度量的两种方式,“N 个 9” 和 “影响请求量占比”,然后再结合实际业务场景表明第二种方式的科学性