首页/云/可观测性速查/可用性等级与停机时长对照
监控体系与方法40 条

可用性等级与停机时长对照

几个 9 的可用性换算成停机时长更便于沟通:99% 每月允许约 7 小时,99.9% 约 43 分钟,99.99% 约 4 分钟;先定义口径再谈目标。

可观测性速查云更新于 2026-10-13

可用性等级是什么

把「几个 9」换算成停机时长更便于沟通与决策:99% 每月允许约 7 小时不可用,99.9% 约 43 分钟,99.99% 约 4 分钟。谈目标之前要先定义口径——按请求成功率、按整分钟可用,还是按业务事务成功,不同口径算出的结果不可直接比较,也直接决定需要多少投入。

基本信息

常见等级99% / 99.9% / 99.95% / 99.99%
换算基准按月 30 天、按年 365 天
核心口径请求成功率 / 时间可用 / 业务事务
计算方式1 - 不可用比例(需先定义不可用)
观测手段拨测、up 指标、业务成功率
关联概念SLO、错误预算

典型使用场景

  • 与业务方沟通 SLA 目标时,用停机时长替代百分比更直观
  • 定义 SLO 并据此设置告警阈值与错误预算
  • 评估架构改造(多活、容灾)能换来几个 9 的提升
  • 复盘时对照目标判断一次故障是否消耗完当月预算
  • 按地域或运营商细分可用性,发现局部用户被掩盖的不可用
  • 为新服务设定与业务重要性匹配的可用性目标

用 PromQL 近似计算可用性

用 PromQL 近似计算可用性
# 以拨测成功率近似(30 天窗口)
avg_over_time(probe_success{job="blackbox-http"}[30d])

# 或以 up 的分钟均值
avg_over_time(up{job="api"}[30d])

# 按地域细分,避免局部不可用被平均值掩盖
avg by (region) (avg_over_time(up{job="api"}[30d]))

停机允许值(按 30 天计)

可用性每年每月每周
99%3.65 天7 小时 12 分钟1 小时 41 分钟
99.9%8 小时 46 分钟43 分钟 12 秒10 分钟 5 秒
99.95%4 小时 23 分钟21 分钟 36 秒5 分钟 2 秒
99.99%52 分钟 34 秒4 分钟 19 秒1 分钟 0 秒
可用性口径要先定义:按请求成功率、按整分钟可用还是按业务事务;不同口径的结果不可直接比较,报告里必须写明。
计划内维护是否计入不可用要事先声明:口径不清时,同一次维护在不同团队嘴里会得出完全不同的可用性数字。
错误预算(1 - SLO)是可用性目标最实用的用法:预算没用完可以放心发布,用完了就该暂停变更先做稳定性。
越高的可用性等级投入呈指数增长:99.99% 通常需要多活与自动化故障切换,目标要与业务价值匹配,而不是越高越好。

易错点

  • 把计划内维护计入不可用会影响预算口径,需在 SLO 文档中事前声明
  • 请求级可用性会掩盖部分用户不可用:按地域或运营商细分后可能明显低于目标
  • 用 up 的均值近似可用性会忽略「可用但全错」的情况,业务成功率更能反映真实体验
  • 目标定得过高但没有对应的投入,会导致团队长期「完不成」而放弃度量
  • 只统计核心接口而漏掉依赖链路,会出现「主服务达标但用户仍然不可用」的错位

数据来源与参考

  • Google SRE Book 第 4 章(可用性目标与时间换算)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌