MTTR / MTBF / MTTF 分别是什么?
更新时间:2026-09-19。短答页。三个缩写长得像、常被混用,但分别衡量可靠性的不同环节。
一句话回答
MTTR 衡量「坏了多快修好」,MTBF 衡量「可修复系统两次故障之间平均正常运行多久」,MTTF 衡量「不可修复产品从开始用到报废的平均寿命」。
三者对比
| 指标 | 英文 | 含义 | 适用 | 关注点 |
|---|---|---|---|---|
| MTTR | Mean Time To Repair/Recovery | 平均修复/恢复时间 | 可修复的服务、系统 | 出故障后恢复多快 |
| MTBF | Mean Time Between Failures | 平均故障间隔(含运行时间) | 可修复设备(服务器、硬盘) | 多久坏一次 |
| MTTF | Mean Time To Failure | 平均失效时间(寿命) | 不可修复件(灯泡、芯片) | 能用多久才彻底坏 |
bash
可修复系统:
│◄──── MTBF ────►│
运行 │ 故障 │MTTR│ 运行 │ 故障 │MTTR│
└─修复─┘ └─修复─┘
不可修复零件:
│◄──────── MTTF(到永久失效)────────►│ ×和可用性的关系
bash
可用性 A = MTBF / (MTBF + MTTR)提高可用性有两条路:拉长 MTBF(让它不容易坏,受硬件/软件质量限制)或缩短 MTTR(坏了能自动切走、快速回滚)。分布式系统里后者往往更现实,详见高可用几个九。
实践中怎么用
- SRE 更关心 MTTR:再可靠的系统也会出故障,快速检测、定位、恢复才是关键,复盘会把 MTTR 拆成「检测 + 响应 + 定位 + 修复」四段(见无指责复盘)。
- MTBF 用于容量与硬件:评估硬盘、电源等故障率,指导备件和冗余。
- 注意 MTTR 的 R 在不同团队可能指 Repair(修好)或 Recovery(服务恢复),定义要统一——对线上业务通常用「服务恢复」更合理。
坑
- 把 MTTR 当「修好根因的时间」,其实业务更关心服务多久恢复(可能先回滚,根因后修)。
- 用 MTBF 衡量云服务可用性却忽略 MTTR,频繁小故障被均值掩盖。
- 对不可修复件谈 MTBF(它没有「之间」的第二次故障)。
总结
MTTR 是故障后平均恢复时间、直接决定用户感知的中断时长,MTBF 是可修复系统两次故障间的平均正常运行时间、反映易坏程度,MTTF 是不可修复产品到永久失效的平均寿命;可用性等于 MTBF/(MTBF+MTTR),因此在难以显著拉长 MTBF 的分布式系统中,通过自动故障转移、快速回滚和完善告警来压低 MTTR 往往是提升可用性性价比最高的手段。