鸡蛋放在一个篮子好还是两个篮子好取决于你目前有没有篮子
前两天和同事讨论服务器备份的事情,同事坚持认为双机备份比单机要好,可好在哪里呢?我告诉他一台非常强的机器的可靠性也可能超过两台普通的机器啊。
我们知道,如果一台普通机器的可靠性为90%,两台普通机器提供相同服务,那么整体的可靠性就变成99%。原因是一台机器的出错可能性为10%,两台同时出错的可能性为10% * 10%,所以是1%,于是两台机器一起服务的可靠性为:100% - 1% = 99%。
这个时候,如果我们有一台可靠性为99.99%高端机器可选,那你选择这台高端机器,还是上面提到的两台各自可靠性为90%的普通机器?
不从成本考虑,显然要选可靠性更高的那一台高端机器。
问题出来了,成本不能不考虑,还有就是可靠性怎么得出的,凭什么说普通机器的可靠性为90%,而高端机器的可靠性为99.99%。
01/
先说说可靠性这件事,什么是可靠性,根据GJB 451A的定义:
可靠性是指产品在规定的条件下和规定的时间内,完成规定功能的能力。
可靠性与特定的运行环境,特定的时间范围相关,所以刚才我们说那台高端机器可靠性为99.99%,显然就不严谨了。也许应该这么说,那台机器在温度为10°C ~ 20°C,湿度在30% ~ 70% 的机房稳定电压环境下,一年内不出故障连续稳定运行的可能性为99.99%。
问题又来了,99.99%这个数字怎么计算得来的,能凭历史经验吗,我们知道由于电器老化,一台机器用得越久,出故障的可能性越高,显然不能以这台机器过去1年没有出故障,来说未来1年也不会出故障。
好在这个世界上不止一台这样的机器,我们可以统计其他机器的使用情况。机器可靠性高低,本质上是由元器件、制造工艺决定的,我们先假设生产机器的工厂一段时间内质量保障水平保持稳定。那么可靠性就可以通过样本统计得出。我们可以去统计10万台在相同环境下使用的机器,如果统计发现1年内只有10台机器出现故障,那么基本上我们就可以得出结论,该机器的一年内的可靠性为99.99% (10除以10万),当然统计样本数越多,结论准确性就越高。
02/
回到最初的成本问题,我们知道不从成本考虑,我们要选可靠性更高的,不够是一台高端机器,还是两台普通机器。
那要是考虑到成本,又该如何选择呢?
最简单的方式,就是考虑边际效益是否为正,也就是增加一台机器或者更换一台机器后,所带来的收益,是否超过所付出的成本。