2. MTTR 基础概念:定义、关联与 SRE 价值

MTTR(Mean Time to Repair,平均修复时间)是 SRE 领域最核心的可用性指标之一,也是故障响应效率的直接度量。理解 MTTR 的定义、它与 MTBF/MTTF 的关系,以及它在 SRE 体系中的定位,是后续进行 Metric Design 和数据结构重构的前提。

2.1 MTTR 定义与计算口径

MTTR 衡量的是从系统发生故障到完全恢复服务所花费的平均时间。它覆盖了故障发现、定位、修复和验证的全过程。

核心公式:
MTTR = 总修复时间 / 故障次数

其中“总修复时间”通常指从故障告警触发(或用户首次感知)到服务恢复正常的时间窗口总和。

在实际 SRE 复盘口径中,MTTR 可进一步拆解为三个子阶段,每个阶段对应不同的数据采集点:

子阶段 英文缩写 定义 典型数据源
平均发现时间 MTTD 从故障发生到被监控系统或人员识别 告警系统、用户反馈
平均定位时间 MTTI 从发现故障到确定根因 事件管理平台、日志
平均修复时间 MTTRfix 从确定根因到服务完全恢复 变更记录、部署系统
口径对齐要点: 在 Metric Design 中,必须明确 MTTR 的起止时间戳定义。例如,是以“告警触发时间”还是“用户首次报障时间”作为起点?不同的口径会导致复盘数据产生 10%~30% 的偏差。

2.2 MTTR 与 MTBF / MTTF 的关系

在可靠性工程中,MTTR 通常与 MTBF(平均故障间隔时间)和 MTTF(平均无故障时间)共同使用,三者构成系统可用性的完整度量体系。

下图展示了三者在系统生命周期中的时序关系:

MTBF / MTTF / MTTR 时序关系图 正常运行 (UP) 故障修复 正常运行 (UP) 故障发生 故障恢复 再次故障 MTBF MTTR MTBF = 正常运行时间 + MTTR MTTF 适用于不可修复系统 (如:磁盘寿命、容器实例)

三者的核心区别与联系如下表所示:

指标 全称 度量对象 适用场景 与可用性的关系
MTBF Mean Time Between Failures 两次故障之间的总时间(含修复时间) 可修复系统(服务、数据库) MTBF 越大,系统越稳定
MTTF Mean Time To Failure 系统首次发生故障前的正常运行时间 不可修复系统(硬件、一次性组件) MTTF 越大,组件寿命越长
MTTR Mean Time To Repair 从故障到恢复的平均耗时 所有可修复系统 MTTR 越小,恢复越快
常见误区: 很多团队将 MTBF 误认为“正常运行时间”,实际上 MTBF = 正常运行时间 + MTTR。在 MTTR 较大的场景下,直接用 MTBF 评估稳定性会失真。正确的可用性计算公式为:
Availability = MTBF / (MTBF + MTTR) × 100%

2.3 MTTR 在 SRE 中的核心价值

在 SRE 实践中,MTTR 不仅是事后复盘的关键指标,更是驱动系统可靠性改进的杠杆点。其价值体现在三个层面:

  1. 故障响应效率的量化标尺:MTTR 将模糊的“响应快慢”转化为可度量、可对比的数字,帮助团队识别响应流程中的瓶颈环节。
  2. SLO/SLI 体系的支撑指标:在定义服务可用性 SLO 时,MTTR 直接影响错误预算的消耗速度。MTTR 每缩短 1 分钟,在同等故障频率下可用性提升一个数量级。
  3. 自动化与工具链投资的 ROI 评估:通过追踪 MTTR 子阶段(MTTD、MTTI、MTTRfix)的变化,可以量化告警优化、可观测性建设、自动化运维工具的实际收益。

下图展示了 MTTR 在 SRE 闭环中的位置:

MTTR 在 SRE 闭环中的位置 MTTR 度量 故障事件数据 告警 / 日志 / 变更 改进动作 自动化 / 流程优化 反馈闭环:持续降低 MTTR SRE 核心目标:通过度量 MTTR → 识别瓶颈 → 自动化改进 → 再次度量,形成可靠性飞轮
实践建议: 在 Metric Design 阶段,建议将 MTTR 拆解为 MTTD、MTTI、MTTRfix 三个子指标分别建模。这样在复盘时可以直接定位到“发现慢”、“定位慢”还是“修复慢”,从而精准驱动数据结构重构和工具链优化。