如何计算网络系统停机时间

How to calculate network system downtime

这里有两个系统,A 和 B。如何计算每个系统的停机时间。

对于A,应该是:0.01 * 10 * 6 * 12 = 7.2 hours/year?

一个系统有10个物理节点,如果其中任何一个节点发生故障,整个系统就会宕机。单个节点的故障概率为每月 1%,停机修复时间为 6 小时。那么整个系统一年的宕机时间是多少

B系统有10个物理节点,如果10个节点中有9个是运行整个系统就可以正常运行。单个节点的故障概率为每月 1%,停机修复时间为 6 小时。那么整个系统一年的宕机时间是多少

我们在这里讨论的是预期停机时间,因此我们必须采用概率方法。

我们可以对这个问题采用泊松方法。单个节点的预期故障率为每月 1%,或 12 个月内 10 个节点的预期故障率为 120% (1.2)。所以你是正确的 1.2 failures/year * 6 hours/failure = 7.2 hours/year 对于 A.

的期望值

您可以使用 7.2 作为泊松分布的 lambda 值来计算给定停机时间的可能性。

使用 R:ppois(6, lambda=7.2) = 0.42,这意味着一年中停机时间少于 6 小时的可能性为 42%。

对于 B,它也是泊松,但重要的是第二个节点在第一次失败后的六个小时内失败的概率。

故障率(假设一个月有 30 天,有 120 个 6 小时周期)为每个节点每 6 小时周期 0.0083%。

所以我们看看在六个小时内发生两次故障的几率,乘以一年中六个小时的时间段数。

使用 R:dpois(2.0, lambda=(0.01/120)) * 365 * 4 = 0.000005069

0.000005069 * 3 预计 hours/failure = 每年预计停机时间为 54.75 毫秒。 (每次故障预计 3 小时,因为第二次故障平均发生在第一次故障的一半时间。)

1% 故障率/月/节点在任何给定时间发生故障的概率为 0,00138889%。我在 Excel 中使用二项分布来模拟当有 8760 h/y * 10 个节点 = 87600 "trials" 时 N 个节点故障的概率。我得到了这些结果:

0 failure:   29.62134067 %
1 failure:   36.03979837 %
2 failure:   21.92426490 %
3 failure:    8.89142792 %
4 failure:    2.70442094 %
5 failure:    0.65805485 %
6 failure:    0.13343314 %
...and so forth

N 次故障将导致 6N 小时的停机时间(假设它们是独立的)。那么对于每 6N 小时的单节点停机时间,其他 9 个节点中 none 发生故障的概率是 (100% - 0,00138889%) ^ (9 * 6N).

因此预期的双节点停机时间为 P(1 node down) * (1 - P(no other node down)) * 6 hours / 2(除以二,因为平均第二次故障发生在正在修复的其他节点的中点)。当对所有 N 次故障求和时,我得到预期的双节点停机时间为 9.8 秒/年,现在知道这是多么正确的估计,但应该给出一个粗略的想法。相当蛮力的解决方案:/