如何提高系统稳定性?

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

1、系统稳定性的评判标准

在开始谈稳定性保障之前我们先来聊聊业内经常提及的一个词SLA业内喜欢用SLA 服务等级协议全称service level agreement来衡量系统的稳定性对互联网公司来说就是网站与用户间定义的一种双方认可的协定。

我们平常经常看到互联网公司喊口号我们今年一定要做到3个9、4个9即99.9%、99.99%甚至还有5个9即99.999%。
9越多代表全年服务的可用时间时间越长服务越可靠。就以一个标准99.99%为例停机时间52.6分钟平均到每周也就是只能有差不多1分钟的停机时间也就是说网络抖动这个时间可能就没了。
服务稳定性计算标准一般都是总的请求数-失败数 / 总请求数 比如100-5/100 = 95% 下面列举了几个对应的停机时间。

1年 = 365天 = 8760小时
3个9        99.9 = 8760 * 0.1% = 8760 * 0.001 = 8.76小时
4个9        99.99 = 8760 * 0.0001 = 0.876小时 = 0.876 * 60 = 52.6分钟
5个9        99.999 = 8760 * 0.00001 = 0.0876小时 = 0.0876 * 60 = 5.26分钟

2、提高系统稳定性的意义

我认为这是一个非常重要的问题我们费了那么多资源投入了许多时间、精力为的是什么揭高系统稳定性的意义究竟是什么

  • 不是让公司多挣钱而是让公司少损失钱电商类交易类系统
  • 提升用户对系统的使用感受减少用户的流失用户评价顺畅、垃圾、再在也用了、用竞品

3、提高系统稳定性的本质

  • MTTF (Mean Time To Failure平均无故障时间)指系统无故障运行的平均时间取所有从系统开始正常运行到发生故障之间的时间段的平均值。 MTTF =∑T1/ N
  • MTTR (Mean Time To Repair平均故障修复时间)指系统从发生故障到维修结束之间的时间段的平均值。MTTR =∑(T2+T3)/ N
  • MTBF (Mean Time Between Failure平均故障间隔时间)指系统两次故障发生时间之间的时间段的平均值。 MTBF =∑(T2+T3+T1)/ N

  • 可靠性度量标准是平均故障间隔时间 (MTBF)即经过此间隔时间后组件出现故障并需要修复。提高可靠性需要强调减少系统故障的次数即不出故障或尽可能的少出故障即增加MTTF时间。
  • 可用性量化指标是周期内系统无故障运行的总时间MTTF。提高可用性需要强调减少从灾难中恢复的时间即减小MTTR时间。

系统稳定性的本质就是提高可靠性和可用性增加故障间隔时间MTTF减小故障修复时间MTTR从而保障业务连续性减少业务损失。

4、提高系统稳定性认知陷阱

本节大概讲一下我们在维护系统时的一些常见陷阱以及我们如何提升我们的认知水平。

陷阱1我的系统从来没有发生过事故肯定不会出故障

连续性思维通常人们认为过去、现在、未来是连续的而现实世界是非连续的连续性只是认知假设。人类的默认思维方式是归纳法它的适用范围是在同一曲线内没有突变。我们的系统是一个变化的系统一旦前提假设不成立从过去看未来的归纳总结就不再成立。
认知升级认识到连续性思维的局限转变为非连续性思维解决思维固化

陷阱2网络出问题了基础设施出问题了我也没办法呀不是我的错

Design for failure(故障设计)我们的系统构建在硬件、操作系统等基础设施之上依赖中间件、数据库、网络依赖于三方系统所有的这些都有可能失效我们必须基于这些依赖都会失效进行设计。
认知升级一切都可能失效要考虑失效场景

陷阱3我考虑了这些异常场景做了专门设计肯定没问题

故障演练验证: 我们所有的设计是否有效应该像物理学、化学一样要得到验证没有验证的东西都是

不可信的。我们要模拟故障场景根据发生的概率和危害程度及后果进行可靠性设计验证、可用性设计验证证明如我们期望的一样运行。
认知升级设计是否有效需要故障演练验

陷阱4这个故障场景发生的可能性太低应该不会发生

墨菲定律(Murphy's Law)主要内容有四个方面

  • 任何事都没有表面看起来那么简单
  • 所有的事都会比你预计的时间长
  • 会出错的事总会出错
  • 如果你担心某种情况发生那么它就更有可能发生。

墨菲定律的根本内容是指任何一个事件只要具有大于零的机率就不能架设它不会发生。
认知升级担心发生的迟早会发生杜绝侥幸心理

陷阱5这几天报警数有点多不过没有用户反馈过几天再说

海恩法则任何不安全事故都是可以预防的。海恩法则是航空界关于飞行安全的法则。海恩法则指出:每一起严重事故的背后必然有29次轻微事故和300起未遂先兆以及1000起事故隐患。

按照海恩法则分析当一件重大事故发生后我们在处理事故本身的同时还要及时对同类问题的“事故

征兆”和“事故苗头”进行排查处理以此防止类似问题的重复发生及时解决再次发生重大事故的隐患把问题解决在萌芽状态。

海恩法则强调两点一是事故的发生是量的积累的结果二是再好的技术再完美的规章在实际操作层面也无法取代人自身的素质和责任心
认知升级不要麻痹大意事情会由量变到质变转换的

5、提高系统稳定性的具体方法

上面说了一大堆又是标准又是意义的下面的才是干货我以为自己的角度进行了一下归纳总结。

6、总结

系统就像一辆高速运行的汽车随时都会有新的需求新的问题在等着我们我们不能让这个高速行驶的汽车停下来修复问题所以我们只能在它运行的时候修复这是一项风险很高的操作所以需要我们在各个环节都做好了才能保证它不出问题。要提高系统稳定性也不一朝一夕的事是一个长期的过程所以不要松懈有问题及时解决。

 

 

本是后山人,偶做前堂客。醉舞经阁半卷书,坐井说天阔。写的不好敬请谅解

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6