首页 > 编程知识 正文

软件系统的可行性分析,软件可行性

时间:2023-05-04 08:05:05 阅读:206131 作者:2507

什么是可用性

系统的可用性用如下公式表示:

其中:

MTBF:即平均无故障工作时间,英文全称是“Mean Time Between Failure”。是衡量一个产品(尤其是电器产品)的可靠性指标。单位为毫秒、秒钟、分钟、小时等MTTR:平均修复时间(Mean time to repair,MTTR),是描述产品由故障状态转为工作状态时修理时间的平均值。产品的特性决定了平均值的长短。单位为毫秒、秒钟、分钟、小时等

互联网和软件行业写入SLA中的可用性就是在特定周期内的可用性,一般用几个9表示。这个周期一般跟计费周期相关,譬如包月资源周期定为一个月,下表以年为周期:

可用性年不可用时间90%99%99.9%99.99%99.999%99.9999%

那是不是Availability越高系统就越好呢?答案是:不一定,看下面两个

有一个系统,MTBF=2h,MTTR=5s,即可以稳定运行2小时,然后挂掉,5秒钟之后又恢复了,通过公式计算Availability=0.9999768,约等于5个9另一个系统,MTBF=30day,MTTR=1h,即可以稳定运行30天,然后挂掉,1小时之后恢复,通过公式计算Availability=0.9986130,约等于4个9

能说这两个系统都很好吗?答案是:不能

能说第一个系统好于第二个系统吗?答案还是:不能

因为:系统的可靠性和可用性同等重要,只谈其一,没有意义

如何提升可用性

从公式可以看出,提升可用性有两个方向,分别是:

提升MTBF,即提升系统可靠性降低MTTR,即减小故障恢复时间提升可靠性

提升系统可靠性,有两个大方向:

提升系统质量,让系统能够长时间稳定运行,这是最容易想到却最不容易做到的并联或者冗余,让系统对外提供长时间稳定运行的能力,但内部允许故障,只要保证同一时间至少一个实例正常运行即可。受益于摩尔定律,计算机系统需要的硬件设备越来越便宜,开发和维护成本占比越来越高,并联或者冗余的方案成为提升可靠性的主流降低故障恢复时间

降低故障恢复时间,分阶段有多重手段来实现,大致如下:

原始阶段。用户使用系统功能时发现不可用,经投诉反馈渠道知会到相关人员,由运维人员恢复故障,这个阶段的主要特点是:被动发现,用户体验极差手工阶段。专人定时巡检,发现故障后及时知会运维人员修复,这个阶段的主要特点是:主动发现、发现不及时、修复不及时自动发现。专门的系统监控所有组件,一旦发现故障,告警知会运维人员修复,这个阶段的主要特点是:主动发现、发现及时、修复不及时智能运维。一套智能系统监控所有组件,发现故障后自动调整系统,例如隔离故障实例启动新实例进行替换、自动扩缩容适应负载变化等,这个阶段的主要特点是:智能运维、无人值守

我始终相信:随着技术的不断发展,脏活、累活终究都会变成机器的活儿

参考链接 MTBFMTTR

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。