老李分享:系统可用性评估

老李分享:系统可用性评估

移动互联网时代,似乎大家都在强调架构或服务的高可用,那什么是高可用性呢?

首先,我们来了解下什么是系统的可用性(System Usability),即系统服务不中断运行时间占实际运行时间的比例,所以高可用性就比较好理解了:系统服务不中断运行时间占实际运行时间的占比更大,换句话说符合我们的预期。

其次,系统的可用性由哪些因素决定或受哪些因素影响呢?其实我们可以想象下,有没有系统可以提供长久的不中断服务?有人会回答说:有!真的这么肯定? 
其实,对于一个简单的系统,在单位时间内是可以保证服务不中断的,但无法保证:forever ,更何况现在的系统复杂性越来越高!又因为服务器硬件老化、供电及网络故障等不确定因素,很难保证这一点,所以说可用性是指一段时间内的可用性!

系统可用性取决于系统的可靠性(MTTF)及可维护性(MTTR)的高低,其中可靠性是指系统服务多久不中断,可维护性是指服务中断后多久可恢复。那这3者是怎样的关系呢? 
System Usability = MTTF / ( MTTF + MTTR ) * 100%

备注: 
MTTF:平均无故障时间 
MTTR:平均故障修复时间 
MTBF:平均故障间隔时间 
其中,MTBF = MTTF + MTTR,故System Usability = MTTF / MTBR * 100%

那在实际的案例中如何计算呢?我们接着来了解下系统结构。

对于串联系统:

对于并联系统:

对于组合系统:

以下是系统可用性与停机时间的一个关系图:

最后,如何提高系统的可用性呢?其实就是如何提高系统的可靠性和可维护性!

(1) 对于系统中某个节点而言(可能是一台服务器、一个组件、或者一个功能模块),要求代码健壮、性能优、硬件配置高等

(2) 对于整个系统而言,我们可以使用集群技术,这里集群分2类,一是高可用集群,二是负载集群

(3) 如果说系统无Bug或不出问题,是不可能的,所以当出现故障时快速解决显得很重要,也就是可维护性要高!我们要尽可能做到:快速发现问题定位问题、解决问题,这里依赖于监控(监控很重要),不能依赖于用户反馈,更重要的是时刻优化维护流程中不合理的地方(这一点很难,但是很有效率,因为有时解决问题需要组织层级推进,能否精简流程、快速响应等,也是我们要思考的地方)!

总结:系统的可用性不是测试出来的,而是计算出来的,它是指单位时间内一个比例值,不代表所有时候!最后送大家一句话:今天的互联网时代,对系统可用性要求非常高,它直接影响着用户体验,也是衡量我们这些技术工程师团队的能力与价值的重要标准!

时间: 2024-10-11 05:25:45

老李分享:系统可用性评估的相关文章

老李分享:5个衡量软件质量的标准

老李分享:5个衡量软件质量的标准 1. Sourc Lines of Code (SLOC) 统计代码行数可能是最简单的方法.它能体现软件的规模,为项目的发展和计划提供一些数据支撑.例如,我们每个月统计一次代码的行数,我们就能大体知道项目的发展情况.当然,这不是一个值得信赖的标准,因为有重构以及设计的因素. SLOC 最好是统计 Source Logical Line of Code (SLLOC) 以获得更准确的信息.Logical code lines 不包含空行,单个括号行以及注释行.你可

老李分享:DBA

老李分享:DBA poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 在做性能测试和调优的时候,需要做dba的配合才能完成,那么DBA到底到底是做什么的呢,其实DBA分为两种:一种是开发DBA,一种是运维DBA,这里说说DBA是指运维DBA.一般意义上的DBA指的是运维DBA,只是负责数据库的运营和维护,包括数据库的安装.监控.备份.恢复等基

老李分享:android app自动化测试工具合集

老李分享:android app自动化测试工具合集 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200.我们从2016年8月开始不断升级测试开发工程师就业培训的班的课程,不断新增和优化课程内容,为了和当下企业的实际情况,提高学员的实战水平,在2016年稳定课程主题框架,做到每半年升级一版. 安卓应用自动化测试工具之一 - PerfectoMob

老李分享: Oracle Performance Tuning Overview 翻译

老李分享: Oracle Performance Tuning Overview 翻译 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 1 性能优化概述 This chapter provides an introduction toperformance tuning and contains the following section

老李分享大数据生态圈

老李分享大数据生态圈 大数据本身是个很宽泛的概念,Hadoop生态圈(或者泛生态圈)基本上都是为了处理超过单机尺度的数据处理而诞生的.你可以把它比作一个厨房所以需要的各种工具.锅碗瓢盆,各有各的用处,互相之间又有重合.你可以用汤锅直接当碗吃饭喝汤,你可以用小刀或者刨子去皮.但是每个工具有自己的特性,虽然奇怪的组合也能工作,但是未必是最佳选择.         大数据,首先你要能存的下大数据. 传统的文件系统是单机的,不能横跨不同的机器.HDFS(Hadoop Distributed FileSy

老李分享:持续集成学好jenkins之内置命令

老李分享:持续集成学好jenkins之内置命令 Jenkins命令调用方式:调用Jenkins命令设置job的描述信息. $JAVA_BIN-jar "$JENKINS_CLI_JAR" -s "$JENKINS_URL"  set-build-description "${JOB_NAME}""${BUILD_NUMBER}" "$tag_name" --username "$SVN_USERN

老李分享:Web Services 特性 1

老李分享:Web Services 特性 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. web service 具备以下特殊的行为特征: 基于 XML web service 在数据表示层和数据传输层使用 XML.使用 XML 就避免了和任何网络.操作系统或者平台的绑定.基于 web service 的应用在其核心层面上是高度可互操作行

老李分享:Web Services 组件 1

老李分享:Web Services 组件 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 在过去的几年里,三大主流技术已经成为构成当今 web service 技术的全球标准.接下来我们来讨论一下这些技术. XML-RPC XML-RPC 是在计算机之间交换信息的最简单的基于 XML 的协议. XML-RPC 是一个简单协议,它使用 XM

老李分享:Web Services 架构 1

老李分享:Web Services 架构 poptest是国内唯一一家培养测试开发工程师的培训机构,以学员能胜任自动化测试,性能测试,测试工具开发等工作为目标.如果对课程感兴趣,请大家咨询qq:908821478,咨询电话010-84505200. 有两种方法可以查看 web service 的架构: 第一个是去检查每个 web service 所负责的角色 第二个是检查 web service 的协议栈 web service 的角色 web service 架构中主要有三种角色: 服务提供者