可用性(Availability)是关于系统可供使用时间的描述,以丢失的时间为驱动(Be Driven By Lost Time)。可靠性(Reliability)是关于系统无失效时间间隔的描述,以发生的失效个数为驱动(Be Driven By Number of Failure)。两者都用百分数的形式来表示。
在一般情况下,可用性不等于可靠性,只有在没有宕机和失效发生的理想状态下,两者才
是一样的。
1 可用性
可用性最简单的表示形式是:
A = Uptime / ( Uptime + Downtime )
如果我们要讨论一年的可用性,公式的分母就必须至少是8760小时。固有可用性从设计的
角度来看待可用性:
Ai = MTBF / ( MTBF + MTTR ) MTBF,mean time between failure MTTR,mean time to repair 或者
Ai = MTTF / ( MTTF + MTTR )
MTTF,mean time to fail
MTTR,mean time to replace
从上述公式可以看出。如果平均失效间隔时间(MTBF,mean time between failure)或平均
失效前时间(MTTF,mean time to fail)远大于平均修复时间(MTTR,mean time to repair)或者平均恢复时间(MTTR,mean time to replace),那么可用性将很高。同样的,如果平均修复时间
或平均恢复时间很小,那么可用性将很高。如果可靠性下降(比如MTTF变小),那么就需要提高可维护性(比如减小MTTR)才能达到同样的可用性。当然对于一定的可用性,可靠性增长了,可维护性也就不是那么重要了。所以我们可以在可靠性和可维护性之间做出平衡,来达到同样的可用性,但是这两个约束条件必须同步改进。 如果系统操作中没有人为疏忽的发生,Ai 是我们可以观察到的最大的可用性了。
在实际环境中,我们采用使用可用性公式。使用可用性公式考虑了人为影响的因素。
A0 = MTBM/ ( MTBM + MDT )
平均维护间隔时间(MTBM,mean time between maintenance)包括所有纠正的和预防行为
的时间(相比 MTBF 只关心失效发生时的维护更切合实际应用)。平均宕机时间(MDT,mean down time)包括所有跟宕机有关的纠正维护(CM,corrective maintenance)时间,MDT中包括了:
- 修复失效过程中如路途、材料等方面造成的延迟时间(相比 MTTR 只关注失效修复时间更切合实际应用)
- 为了防止宕机等失效而做的预防性维护操作(PM,preventive maintenance)时间
因为在实际操作中总会有一些人为的延迟和疏忽。因此基于以上两点,A0 在数值上比 Ai 要小,但更接近系统实际的可用性。
下面是一个不同可用性的系统在一年中由于失效而产生的不可工作的时间的例子。具体数据见下表(1 年 = 365天*24小时 = 8760 小时,可用性 A = Uptime / ( Uptime + Downtime )):
Availability | Lost Time (houres) | Lost Time (minutes) | Lost Time (seconds) |
60.00% | 3504 | ||
65.00% | 3066 | ||
70.00% | 2628 | ||
75.00% | 2190 | ||
85.00% | 1314 | ||
90.00% | 876 | ||
95.00% | 438 | ||
96.00% | 350.4 | ||
97.00% | 262.8 | ||
98.00% | 175.2 | ||
99.00% | 87.6 | ||
99.50% | 43.8 | ||
99.90% | 8.76 | 525.6 | |
99.99% | 0.876 | 52.6 | 3153.6 |
99.999% | 0.0876 | 5.3 | 315.36 |
99.9999% | 0.00876 | 0.5 | 31.536 |
99.99999% | 0.000876 | 0.1 | 3.1536 |
2 可靠性
可靠性最简单的表达式可以用指数分布来表示。它表述了随机失效。
R = e^[-(λ*t)] = e^[-(t/Θ)]
其中:
t = 运行时间Mission Time (1天,1 周,1月,1年等,可根据要求确定) λ = 失效率 Failure Rate
Θ = 1/λ = Mean Time To Failure 或 Mean Time Between Failures
注意,可靠性必须以任务时间作为一个参数去计算结果,当你在听取某产品的可靠性宣传时优要关注,如果时间很短,则不合理。当你置疑失效模式,更要关注指数分布的表达式,因为:
- 利用指数分布估算可靠性并不需要太多的信息作为输入
- 它可以充分代表由多种失效模式和机制组成的复杂系统
- 你几乎可以不必跟他人解释其复杂性。
当MTTF 或 MTBF 或 MTBM与运行时间(Mission Timw)相比比较长时,你可用可靠性
(Reliability)去度量(如不发生失效的可能性);当MTTF 或 MTBF 或 MTBM跟运行时间相比比较短时,你可用不可靠性(Unreliability)去度量(如发生失效的可能性)。
下面是一个不同可靠性的系统在不同运行时间中出现的失效个数的例子。具体数据见下表
(1 年 = 365天*24小时 = 8760 小时):
Reliability | Failures per year | Failures per 10 years | Failures per 100 years |
10.00% | 2.30 | ||
20.00% | 1.61 | ||
30.00% | 1.20 | ||
40.00% | 0.92 | ||
50.00% | 0.69 | ||
60.00% | 0.51 | ||
70.00% | 0.36 | ||
80.00% | 0.22 | 2.23 | |
90.00% | 0.11 | 1.05 | |
95.00% | 0.05 | 0.51 | |
99.00% | 0.01 | 0.10 | 1.01 |
99.50% | 0.005 | 0.05 | 0.50 |
99.90% | 0.001 | 0.01 | 0.10 |
99.99% | 0.0001 | 0.001 | 0.01 |
99.999% | 0.00001 | 0.0001 | 0.001 |
99.9999% | 0.0000010 | 0.00001 | 0.0001 |
99.99999% | 0.00000010 | 0.000001 | 0.00001 |