Skip to content

可用性指标与 SLA

可用性公式、几个 9 的含义、MTTR/MTBF、故障分级。

Updated View as Markdown
For humans

可用性指标与 SLA

可用性是系统设计的北极星。面试主线:可用性怎么算、几个 9 什么概念、故障怎么分级。

可用性公式

可用性 = 正常运行时间 / 总时间

可用性 年宕机时间 含义
99%(两个 9) 87.6 小时 允许每周宕机约 1.7 小时
99.9%(三个 9) 8.76 小时 常规商业系统目标
99.99%(四个 9) 52.6 分钟 金融/核心系统
99.999%(五个 9) 5.26 分钟 电信级,成本极高

面试要点:每多一个 9,成本涨一个量级(冗余、运维、演练投入)。设计时先定目标(几个 9),再决定投入。

MTTR 与 MTBF

可用性 = MTBF / (MTBF + MTTR)

指标 含义 优化方向
MTBF 平均无故障时间 越长越好:质量、冗余
MTTR 平均恢复时间 越短越好:监控、自动恢复、预案

两个 9 之间的差距靠 MTTR 拉:故障不可完全避免,但恢复快 = 可用性高。所以故障转移、自动重启、快速回滚都是可用性工程的重点。

SLA 与 SLO

  • SLO(Service Level Objective):自己定的目标,如“P99 延迟 < 200ms,可用性 99.9%”
  • SLA(Service Level Agreement):对外承诺,未达成要赔偿
  • 关系:SLA 基于 SLO,SLO 定得比 SLA 严(留缓冲)
  • 面试话术:SLO 是工程目标,SLA 是商业承诺,先有 SLO 才有 SLA

故障分级

级别 影响 响应要求
P0 核心功能不可用/资损 立即响应,全员,分钟级恢复
P1 主要功能受损,有替代方案 快速响应,小时级恢复
P2 局部功能问题,可容忍 当日处理
P3 小问题/体验问题 排期处理

分级的意义:资源按级别分配。P0 抢修是最高优先级,P3 不打断主线。面试答“P0 是核心不可用,马上拉群抢修,事后复盘”即可。

面试追问

  1. 99.9% 一年能宕多久? 约 8.76 小时(52.6 分钟 × 10)。每多一个 9 少一个数量级
  2. 怎么提高可用性? 两条路:MTBF(冗余、质量)和 MTTR(监控、自动恢复、预案)。MTTR 更容易见效
  3. SLA 和 SLO 的区别? SLO 是内部目标,SLA 是对外承诺。SLO 比 SLA 严,留缓冲
  4. 故障分级的意义? 资源按影响分配:P0 抢修优先,P3 排期。避免所有故障都当大事
  5. 可用性目标怎么定? 按业务成本权衡:核心链路四个 9,外围功能三个 9 够。每个 9 都是成本
Navigation

Type to search…

↑↓ navigate↵ selectEsc close