关于软件系统可靠性的几个9问题

今天上班的路上看篇关于一个架构师讲他的重构系统经历的文章,看到个名词,可靠性3个9,4个9。什么东东啊,没听过,上网搜了一下,一般的系统,像传统的电力系统也是有可靠性3个9,4个9之说的,可就是说这是系统可靠性的问题,搜到几篇博文,保留一下~~

------------------------------------------------------我是华丽丽的分割线-------------------------------------------------------


http://blog.csdn.net/alonesword/article/details/21555745

             在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5。X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差异。

  • 3个9(1-99.9%)*365*24=8.76小时,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是8.76小时。
  • 4个9(1-99.99%)*365*24=0.876小时=52.6分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是52.6分钟。
  • 5个9(1-99.999%)*365*24*60=5.26分钟,表示该软件系统在连续运行1年时间里最多可能的业务中断时间是5.26分钟。

那么X个9里的X只代表数字3~5,为什么没有1~2,也没有大于6的呢?我们接着往下计算:

  • 1个9:(1-90%)*365=36.5天
  • 2个9:(1-99%)*365=3.65天
  • 6个9:(1-99.9999%)*365*24*60*60=31秒

可以看到1个9和、2个9分别表示一年时间内业务可能中断的时间是36.5天、3.65天,这种级别的可靠性或许还不配使用“可靠性”这个词;而6个9则表示一年内业务中断时间最多是31秒,那么这个级别的可靠性并非实现不了,而是要做到从5个9》6个9的可靠性提升的话,后者需要付出比前者几倍的成本,所以在企业里大家都只谈(3~5)个9。


----------------------------------分割线天天见------------------------------------------


http://www.yunweipai.com/archives/1284.html


高可用是IT世界中的一个重要领域,不过,对大多少IT公司或组织来说,高可用性达到99.999%是没必要的。

一个公司或组织是否需要99.999%的可靠性,依赖许多因素:软件成本,公司财力能否承担等。
“当你的设备处理人命关天的事情,或业务中断一分钟就会损失百万美刀,那么你可以考虑99.99%的可靠性。”Robertson(Linux高可用项目开发者)如是说。

权衡高可用的付出与得到
实现高可用系统的成本,不论是99.99%还是99.999%,都包含了软件成本,硬件成本,人力成本,还有培训支出。当一个公司打算要做高可用系统之前,最好先权衡,构建高可用系统的成本,与系统业务中断所带来的损失,哪个付出更多。若不想付出太多的资金在构建高可用系统上,那么就得分析你的系统,什么时候会出现业务中断,控制住业务中断所带来得损失,以及构建快速恢复的能力。
实际上,关乎每分钟有百万美刀的系统,也可以不用做5个9的高可用系统,只要能够控制到有计划地中断业务(也可以说是中断业务可控制),如在交易时候业务不中断业务即可。
根据爱默生对41家数据中心的统计数据报告发现:非计划的业务中断是导致公司业绩损失的主要因素”。报告中还指出:“业务中断后的故障定位,分析与解决,也需要耗费不少财力”

如果一个公司的业务承诺的可靠性是99.99%,那么每年只允许业务中断8.76小时。如果业务中断导致的损失是每小时100万,那么一年的损失是876万。
但是,如果这个公司承诺的可靠性是99.999%,那么每年只允许业务中断不超过1个小时,如果业务中断导致的损失是每小时100万,那么一年的损失小于100万。
我们可以算到,可靠性从99.99%提升到99.999%,可以挽回大概700万的损失。那么这种情况下是值得的。
但是如果你提升可靠性到99.999%上面的花费,超过了700万,那保持99.99%的可靠性也是一种选择。

任何产品都需要考虑投入与产出比,那么你允许的业务中断时间是多少?

99.99%的可靠性对大多数业务来说是足够的,对于一些离线业务,99.9%可靠性大部分场景下也够用了。

实现99.99%的可靠性
在一些领域,99.999%可靠性是必须的,如运输行业。假如火车控制系统故障了,那么可能成千上万的旅客就会被滞留。(天朝的7.23事故大家都知道)
这种场景下,实现99.999%可靠性通常使用容错处理,包含软件的容错和硬件的容错。常见的软件容错有负载均衡,就是多个实例同时提供服务。当软件容错不起作用时候,就需要用到硬件容错,硬件容错一半是做硬件冗余,如两个服务器做主备。


--------------------------------------------我就是我,不一样的分割线-----------------------------------------------------


http://server.it168.com/a2013/0220/1455/000001455094.shtml


  • 0
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 数据库系统可靠性测试同样非常必要,因为数据库系统存储了企业或组织的重要数据,这些数据往往是不可替代的。因此,数据库系统的可靠性对企业或组织的正常运营和业务发展至关重要。可靠性测试可以帮助我们检测和诊断数据库系统中的各种问题,如数据完整性、数据一致性、数据准确性、数据安全性等问题,并且在问题发生时能够及时发现和解决,从而保证数据库系统的稳定性和可靠性。因此,数据库系统可靠性测试是非常必要的。 ### 回答2: 数据库系统可靠性测试是确保数据库系统能够持续且正确地运行的过程,具有重要的必要性,原因如下: 首先,数据库系统作为组织和企业存储和管理重要数据的关键基础设施,其可靠性直接关系到数据的完整性、可用性和安全性。通过可靠性测试可以发现和排除数据库系统中的潜在问题和错误,确保数据在传输、存储和处理过程中不会被无意中破坏或丢失,保护数据的完整性和可靠性。 其次,可靠性测试可以帮助发现数据库系统在负载和压力下的表现。数据库系统常常面临大量并发访问和复杂的查询操作,可靠性测试可以模拟真实情况下的负载和压力,验证系统在高负载环境下的性能和稳定性。通过这样的测试,可以发现数据库系统的瓶颈和弱点,并进行相应的优化和改进,以提升系统的可靠性和性能。 第三,可靠性测试还可以评估数据库系统的备份和恢复能力。数据库系统备份和恢复是保证系统持续可用的重要手段,通过可靠性测试可以检验备份和恢复策略的有效性和可靠性。通过模拟故障和数据恢复的过程,可以验证数据库系统在不同故障情况下数据的完整性和可用性。根据测试结果,可以做出相应的调整和改善,确保数据可以及时且完整地恢复。 综上所述,数据库系统可靠性测试的必要性体现在保证数据的完整性、可用性和安全性,发现和解决潜在问题,提升系统的性能和稳定性,评估备份和恢复策略的有效性。通过可靠性测试,可以确保数据库系统在长期运行中能够持续地满足组织和企业的数据管理需求。 ### 回答3: 数据库系统可靠性测试的必要性主要包括以下几个方面: 首先,数据库系统是现代信息系统中非常重要的一部分,它用于存储和管理大量的数据。数据库系统的可靠性直接影响到信息系统的正常运行以及数据的安全性。通过可靠性测试,可以检测和评估数据库系统在故障和异常情况下的表现,确保其能够正常运行并保持数据的完整性和一致性。 其次,数据库系统常常面临各种故障和异常情况,比如硬件故障、网络问题、软件错误等。这些问题可能会导致数据库系统崩溃、数据丢失或者数据不一致,给组织和用户带来严重的损失。可靠性测试可以帮助发现潜在的故障点和性能瓶颈,提前进行修复和优化,降低系统发生故障的概率。 此外,随着数据量和用户数量的增加,数据库系统的负载也会逐渐增加。如果数据库系统无法承受高负载的运行,可能会导致系统响应缓慢甚至崩溃。通过可靠性测试,可以模拟高负载情况下的数据库系统行为,评估其性能和稳定性,为系统运维人员提供有针对性的优化建议。 最后,可靠性测试还可以帮助发现数据库系统本身的安全漏洞。数据库中存储着组织和用户的敏感信息,如果数据库系统存在漏洞,可能会导致数据泄露、数据篡改等安全问题。通过可靠性测试,可以评估数据库系统的安全性能,发现潜在的漏洞并及时修复,提高系统的安全性。 综上所述,数据库系统可靠性测试具有很高的必要性。它可以确保数据库系统能够正常运行并保持数据的完整性和一致性,降低系统发生故障的概率,提高系统的性能和稳定性,同时还能发现和修复系统的安全漏洞,确保数据的安全性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值