MTTR 基础概念:平均修复时间

1. MTTR 的定义

平均修复时间(Mean Time To Repair,MTTR)是衡量故障从发生到完全恢复所消耗平均时间的核心指标。它反映了组织在故障响应与修复环节的整体效率,是 SRE 实践中最重要的可用性度量之一。

MTTR 的计算公式为:

MTTR = 故障修复总耗时 / 故障次数

其中“修复总耗时”指从故障被确认(或首次告警触发)到服务完全恢复正常所经过的时间。MTTR 越低,说明团队的故障处理能力越强,对用户的影响越小。

关键认知: MTTR 并非仅指“动手修”的时间,而是覆盖从故障感知到最终恢复的完整时间窗口。缩短 MTTR 需要系统性优化整个故障处理链路。

2. MTTR 的三大组成部分

MTTR 可拆解为三个核心阶段,每个阶段都有独立的优化空间。下表列出了各阶段的定义、典型活动及常见瓶颈:

阶段 定义 典型活动 常见瓶颈
检测时间 从故障发生到被监控系统或人工发现的时间 告警触发、日志分析、用户反馈收集 监控盲区、告警延迟、阈值设置不合理
响应时间 从故障确认到第一响应人开始处理的时间 告警分派、On-Call 人员确认、故障定级 响应人未及时接听、定级流程冗长、信息传递断层
修复时间 从开始处理到服务完全恢复正常的时间 根因定位、代码回滚、配置变更、重启服务 缺乏 Runbook、依赖人工排查、变更审批慢
实践建议: 在复盘时,应将每次故障的 MTTR 按上述三阶段拆解记录,以便精准定位耗时最长的环节,制定针对性改进措施。

3. MTTR 在故障管理中的重要性

MTTR 是衡量故障管理成熟度的关键标尺,其重要性体现在以下四个方面:

  • 直接影响可用性: 在 SLO 框架下,MTTR 越长,故障期间消耗的错误预算越多,可用性越容易超标。
  • 反映团队协作效率: 低 MTTR 通常意味着清晰的响应流程、完善的自动化工具和高效的跨团队协作。
  • 驱动持续改进: 通过追踪 MTTR 趋势,团队可以量化改进效果,例如引入自动化告警压缩后检测时间是否缩短。
  • 关联用户体验: 故障恢复越快,用户感知到的负面影响越小,对业务连续性的保障越强。
常见误区: 不要只关注“修复时间”而忽略“检测时间”和“响应时间”。在很多故障案例中,检测和响应阶段占据了 MTTR 的 60% 以上,是最大的优化空间。

4. MTTR 组成部分的流程关系

下图展示了 MTTR 三阶段在故障时间轴上的串联关系,以及各阶段之间的衔接点:

MTTR 三阶段时间轴 故障发生 检测完成 响应开始 修复完成 检测时间 响应时间 修复时间 MTTR = 检测时间 + 响应时间 + 修复时间 优化任意阶段均可缩短整体 MTTR,提升服务可用性

5. MTTR 与 SLO 的关联

在 SRE 实践中,MTTR 直接影响 SLO 的达成。故障持续时间越长,消耗的错误预算越多。下表展示了不同 MTTR 水平对月度 99.9% SLO 的影响:

MTTR 单次故障消耗错误预算 月度允许故障次数(近似) 风险等级
5 分钟 0.01% 约 86 次 低风险
30 分钟 0.06% 约 14 次 中风险
2 小时 0.27% 约 3 次 高风险
4 小时 0.55% 约 1 次 极高风险
复盘启示: 将 MTTR 拆解为检测、响应、修复三部分后,可以针对每个阶段设定独立的 SLO(例如“检测时间 SLO ≤ 5 分钟”),并在复盘中评估各阶段是否达标,从而驱动精准改进。