软考计算题 · 可用性 · 可靠性

软考可用性怎么算?

可用性题看起来像运维指标,实际经常是一个小公式题。它问的不是系统有没有坏过,而是系统在需要它的时候,有多大比例处于可用状态。

考后专题 软考题库编辑部 持续更新

MTBF 和 MTTR 先分清

MTBF 是平均无故障时间,可以理解成系统两次故障之间平均能稳定运行多久。MTTR 是平均修复时间,可以理解成坏了以后平均多久能修好。

一个看运行,一个看修复。MTBF 越大通常越好,MTTR 越小通常越好。

MTBFMean Time Between Failures,平均无故障时间
MTTRMean Time To Repair,平均修复时间
可用性MTBF / (MTBF + MTTR)

可用率公式怎么读

可用率 = 正常运行时间 / 总时间。用 MTBF 和 MTTR 表示,就是 MTBF / (MTBF + MTTR)。

比如系统平均运行 99 小时故障一次,平均 1 小时修好,那么可用率就是 99 / (99 + 1) = 99%。

小例子

MTBF = 200 小时,MTTR = 2 小时。

可用率 = 200 / (200 + 2) = 200 / 202 ≈ 0.9901。

换成百分比约为 99.01%。

几个 9 不要只凭感觉

很多人听过 99.9%、99.99%,但考试里如果问一年大约允许停机多久,就要会把比例换成时间。

一年按 365 天计算是 8760 小时。99.9% 可用,意味着不可用比例是 0.1%,大约 8.76 小时。99.99% 可用,不可用时间大约 0.876 小时,也就是 52.56 分钟。

可用率年不可用比例一年约可停机
99%1%约 87.6 小时
99.9%0.1%约 8.76 小时
99.99%0.01%约 52.56 分钟
99.999%0.001%约 5.26 分钟

这类题最常见的坑

第一个坑,是把 MTTR 加错位置。修复时间是总周期的一部分,不能只拿 MTBF 当分母。

第二个坑,是百分数和小数混着算。99.9% 是 0.999,不是 99.9。

第三个坑,是忽略单位。小时、分钟、天混在一起时,先统一单位再算。

  1. 确认题目给的是 MTBF、MTTR,还是直接给可用率。
  2. 统一时间单位。
  3. 代入 MTBF / (MTBF + MTTR)。
  4. 如果问停机时间,用总时间 × 不可用比例。

它和可靠性有什么关系

可靠性更偏系统少出故障,可用性还考虑故障后能不能快点恢复。一个系统可能不太爱坏,也可能坏了很快修好,这两者都会影响用户感受到的服务可用性。

所以考试题如果同时出现故障间隔和修复时间,不要只看“坏得少”,还要看“修得快不快”。