软件系统可靠性的衡量标准:x个9的意思?

衡量一个软件的可靠性有很多的方法和标准,但最近经常听到和看到x个9的说法,本着不懂就查的精神,对其进行了翻阅,精简解释如下:

PS:参考了百度-google等搜索出来的一些网页!

x个9的说法一般针对的是大型软件系统,一些小的软件咱就不提了,那么先看看定义。

定义:x个9表示的是软件系统在一年之内不宕机的概率,也可以换算成一年之内允许宕机的时间(100%-x个9)。

example:

1个9表示一年之内允许宕机的时间为:(1-90%)*365天 = 36.5天

2个9                                           (1-99%)*365天 = 3.65天

3个9                           (1-99.9%)*365天*24小时 = 8.76小时

4个9                 (1-99.99%)*365天*24小时*60分 = 52.6分钟

5个9               (1-99.999%)*365天*24小时*60分 = 5.26分钟

6个9           (1-99.9999%)*365天*24小时*60分*60秒 = 31秒

.............

从上面的计算可以看出,“1个9”和“2个9”的标准耗时太长,无法被接受。

6个9及以上的高可靠性(HA)可以做到,但是付出的成本太大,得不偿失,因此也不太推荐。

综合而言,业界使用较多的说法居于“3个9”到“5个9”之间。

时间: 2024-12-25 09:19:07

软件系统可靠性的衡量标准:x个9的意思?的相关文章

技术经验集

JAVA EE架构师 需要具备的知识 1.构架师胚胎(程序员) 学习的知识是语言基础.设计基础.通信基础等,应该在大学完成,内容包括java.c.c++.uml.RUP.XML.socket通信(通信协议)--学习搭建应用系统所必须的原材料. 2.构架师萌芽(高级程序员) 学习分布式系统.组建等内容,可以在大学或第一年工作时间接触,包括分布式系统原理.ejb.corba.com/com+.webservice(研究生可以研究网络计算机.高性能并发处理等内容) 3.构架师幼苗(设计师) 应该在掌握

系统架构师成长之路(一)

   背景:系统架构师是近几年来在国内外迅速成长并发展良好的一个职业,它对系统开发和信息化建设的重要性及给IT业所带来的影响是不言而喻的.在我国,虽然系统架构师的职业在工作内容.工作职责以及工作边界等方面还存在一定的模糊性和不确定性,但它确实是时代发展的需要,并正在实践中不断完善和成熟. 通常从组织上划分,架构师分为以下几大类:业务架构师(Business Architect).主题领域架构师(Domain Architect).技术架构师(Technology Architect).项目架构师

java必学技能

一:系统架构师是一个最终确认和评估系统需求,给出开发规范,搭建系统实现的核心构架,并澄清技术细节.扫清主要难点的技术人员.主要着眼于系统的“技术实现”.因此他/她应该是特定的开发平台.语言.工具的大师,对常见应用场景能给出最恰当的解决方案,同时要对所属的开发团队有足够的了解,能够评估自己的团队实现特定的功能需求需要的代价. 系统架构师负责设计系统整体架构,从需求到设计的每个细节都要考虑到,把握整个项目,使设计的项目尽量效率高,开发容易,维护方便,升级简单等.二: 软件系统架构师综合的知识能力包括

2020计算机二级C语言题库

[解析]软件设计中模块划分应遵循的准则是高内聚低偶合.模块大小规模适当.模块的依赖关系适当等.模块的划分应遵循一定的要求,以保证模块划分合理,并进一步保证以此为依据开发出的软件系统可靠性强,易于理解和维护.模块之间的耦合应尽可能的低,模块的内聚度应尽可能的高. #include <stdio.h> double fun(double e) { int i, k; double s, t, x; s=0; k=1; i=2; /**********found**********/ x=3.0/4

Netty系列之Netty可靠性分析

作者 李林锋 发布于 2014年6月19日 | 29 讨论 分享到:微博微信FacebookTwitter有道云笔记邮件分享 稍后阅读 我的阅读清单 1. 背景 1.1. 宕机的代价 1.1.1. 电信行业 毕马威国际(KPMG International)在对46个国家的74家运营商进行调查后发现,全球通信行业每年的收益流失约为400亿美元,占总收入的1%-3%.导致收益流失的因素有多种,主要原因就是计费BUG. 1.1.2. 互联网行业 美国太平洋时间8月16日下午3点50分到3点55分(北

为什么要进行需求分析?通常对软件系统有哪些需求?

为了开发出真正满足用户需求的软件产品,首先必须进行需求分析. 对软件系统的需求 1.功能需求 2.性能需求 3.可靠性和可用性需求 4.出错处理需求 5.接口需求 6.约束 7.逆向需求 8.捡来可能提出的要求

可靠性、可用性和容灾设计这些活动都是围绕 “安全” 这个核心,而性能优化,提升响应性则是围绕 “效率”

「我们一直这样做开发,时间做久了,便忘了当初的本意.」 有关软件系统开发,我们谈些什么? 我们谈过程,编码规范.开发流程.同行评审.结对编程.持续集成,从瀑布到敏捷再到极限编程. 我们谈架构,企业级.J2EE.容器化.SOA(面向服务架构).Microservices(微服务化). 我们谈规模,大容量.高并发.大数据. 我们还谈可靠性.可用率.n个9.响应时间等等... 这一切的核心是什么? 先讲个电力行业的一个故事,电力的项目我没做过,对电厂的原理虽有所了解,但看见那些大规模的电站还是感觉挺复

什么是“5个9”(99.999%)的可靠性?

refer to :http://blog.csdn.net/alonesword/article/details/21555745 http://www.yunweipai.com/archives/1284.html 在软件系统的高可靠性(也称为可用性,英文描述为HA,High Available)里有个衡量其可靠性的标准——X个9,这个X是代表数字3~5.X个9表示在软件系统1年时间的使用过程中,系统可以正常使用时间与总时间(1年)之比,我们通过下面的计算来感受下X个9在不同级别的可靠性差

SRE之道:创造软件系统来维护系统运行

引言:本文作者Ben Treynor Sloss,Google 运维团队的高级副总裁,SRE 名称的发明者,在这里提供了他对SRE 的定义. 本文选自<SRE:Google运维解密>. 大家都知道, 计算机软件系统离开人通常是无法自主运行的.那么,究竟应该如何去运维一个日趋复杂的大型分布式计算系统呢?雇佣系统管理员(sysadmin)运维复杂的计算机系统,是行业内一直以来的普遍做法.而Google 的解决之道是--SRE.  SRE 团队通过雇佣软件工程师,创造软件系统来维护系统运行以替代传统