5、知乎故障,直接说是机房故障,太简单了,但我觉得最大的可能应该是Tengine后端服务超时导致的,而非简单的一个机房故障引起。
在每一次故障发生的时候,其实都是伤害了我们的用户,内部的表述就是可用性或者质量。因此我们必须要足够的重视,更需要我们把它变成宝贵的经验。那到底什么是可用性和可靠性?影响可用性的因素有哪些?运维如何提高可用性?等等。
一、什么是可用性和可靠性
可靠性是在给定的时间间隔和给定条件下,系统能正确执行其功能的概率。可用性是指系统在执行任务的任意时刻能正常工作的概率。先来看一些指标定义:
1. MTBF——全称是Mean Time Between Failure,即平均无故障工作时间。就是从新的产品在规定的工作环境条件下开始工作到出现第一个故障的时间的平均值。MTBF越长表示可靠性越高正确工作能力越强。
2. MTTR——全称是Mean Time To Repair,即平均修复时间。是指可修复产品的平均修复时间,就是从出现故障到修复中间的这段时间。MTTR越短表示易恢复性越好。
3. MTTF——全称是Mean Time To Failure,即平均失效时间。系统平均能够正常运行多长时间,才发生一次故障。系统的可靠性越高,平均无故障时间越长。
可用性Availability = MTBF / (MTBF + MTTR),一般我们都是用N个9来表达系统可用性,用宕机时长来说更好理解,如果以全年为周期(24*365=8760个小时),3个9(99.9%)就意味着全年宕机时长是525.6分钟,4个9(99.99%)是52.6分钟,5个9(99.999%)是5分钟。
从这些时间指标上可以反向去推导IT能力不足的地方,比如说一个故障恢复时间很长,一定是自动恢复、运维意识、处理过程、系统架构等地方不对,导致了这个宕机时间过长;平均失效时间短,一定是系统的可靠性出了问题,找技术设计的问题,找依赖的硬件环境问题等等
二、影响可用性的因素
影响可用性的因素非常的多,但是可以从几个维度去看,人与组织、流程、技术和业务管理等四个维度。
小编推荐阅读