当今社会互联网应用越来越广泛,用户量日益剧增。在人们对互联网服务的依赖性增大的同时,也对服务的可用性和体验感有了更高的要求。那么如何保障服务在运营过程中能一直给用户提供稳定的、不间断的、可靠可信的服务呢?

例如一个教育或者加金融系统产品,如果线上出现了故障,那么可能带来巨大的损失。由于金融产品或者教育类系统架构和业务逻辑是相当复杂和链条厂,因此我们测试工程师通过单元测试、接口测试、集成测试、性能测试等来验证服务的稳定性。但尽管如此,也是远远不够的,因为错误可以在任何时间以任何形式发生,尤其是对分布式系统。所以现在很多公司开始引入混沌工程(馄饨工程国内最佳实践公司目前是阿里,大家有兴趣可以去网上看下阿里混沌工程相关实践经验),由于混沌工程需要不断的投入和积累,所以我们测试部门为了模仿和预防线上故障演练,可以先进行故障注入演练,这样成本最小,收益也最大化。

阿里按照优先分析P1和P2故障,按照IaaS、PaaS、SaaS层的角度绘制了故障画像,如下图:

目前业内模拟故障的工具比较多样化,支持的功能和场景也各有优劣。通过对比来看,chaosblade支持功能和场景比较丰富,同时社区也是比较活跃的,我们可以选择这个尝试一下

chaosblade 所支持的场景,可以参考文档:

https://chaosblade-io.gitbook.io/chaosblade-help-zh-cn/

下面进行简单的故障模拟

下载路径:

https://github.com/chaosblade-io/chaosblade/releases

解压即用,无需安装

tar -zxvf chaosblade-0.9.0.linux-amd64.tar.gz

CPU压力注入:

结果如下:

内存压力注入:

效果如下:

磁盘压力注入:

效果如下:

网卡故障注入:

观察接口的话,能看到接口响应时间明显变长:

以上只是chaosblade最基本的故障注入演示,其他演练大家可以自行尝试,特别是服务层的故障注入演练作为我们测试同学是应该重点去关注和优先去尝试的,再次强烈建议大家在公司内部尝试服务层故障注入演练~

大家如果对故障演练有什么疑问或者研究的可以添加管理员微信,一起交流探讨。

最新文章

  1. opencv 小任务1 图片的缩放
  2. PHP禁止同一IP频繁访问以防止网站被防攻击或采集的代码
  3. HDU1134/HDU1133 递推 大数 java
  4. React Native iOS环境搭建
  5. java三大框架学习总结(1)
  6. 【C#学习笔记】Dictionary容器使用
  7. bzoj 2594 [Wc2006]水管局长数据加强版(LCT+最小生成树)
  8. web网站加速之CDN(Content Delivery Network)技术原理
  9. CI 笔记(easyui js命令)
  10. Android + eclipse +ADT安装完全教程
  11. php 7 正式发版
  12. Scientific Toolworks Understand for linux安装方法
  13. Web工程师必备的43款可视化工具
  14. Redis数据类型之列表List
  15. git常用命令速查
  16. 从三个开源项目认识OpenFlow交换机 - OVS
  17. AssetBundle 策略
  18. 服务器使用VMware系软件管理主机集群
  19. Python交互式编辑器ipthon notebook jupyter
  20. 9.15 DP合集水表

热门文章

  1. linux centos8 安装dokcker并启动coreapi
  2. BlockCanary界面卡顿检测
  3. F. Moving Points 解析(思維、離散化、BIT、前綴和)
  4. python引用方法赋值问题探究
  5. 执行 vue inspect > output.js 报错,无法加载文件 C:\Users\Administrator\AppData\Roaming\npm\vue.ps1,因为在此系统中禁止执行脚本
  6. 系统日志报错i8042prt无法加载
  7. uniApp打卡日历
  8. XJOI 夏令营501-511NOIP训练17 蛇形数阵
  9. 【Kata Daily 190927】Counting sheep...(数绵羊)
  10. ASP.NET Core框架揭秘[博文汇总-持续更新]