基于物理主机的混沌工程试验
模拟CPU负载实验-本文档介绍如何在物理主机下使用 ChaosBlade 模拟 CPU 负载压力实验,可通过参数指定 CPU 负载百分比、负载核(数)等数据。
模拟内存占用实验-指定内存占用,注意,此场景触发内存占用满,即使指定了 --timeout 参数,也可能出现通过 blade 工具无法恢复的情况,可通过重启机器解决!!!推荐指定内存百分比!
由于目前内存大小计算通过 memory.stat 等文件计算,所以和 free 命令计算不一致,同 top 命令一致,验证时请使用 top 命令查看内存使用。后续会针对内存占用场景进行优化。
模拟网络包损坏实验-可以指定网卡、本地端口、远程端口、目标 IP 包损坏。需要特别注意,如果不指定端口、ip 参数,而是整个网卡包损坏,切记要添加 --timeout 参数或者 --exclude-port 参数,前者是指定运行时间,自动停止销毁实验,后者是指定排除掉的延迟端口,两者都是防止机器无法连接的情况,如果真实发生此问题,重启机器即可恢复。
模拟磁盘IO负载实验-提升磁盘读写 io 负载,可以指定受影响的目录,也可以通过调整读写的块大小提升 io 负载,默认值是 10,单位是 M,块的数量固定为 100,即在默认情况下,写会占用 1000M 的磁盘空间,读会固定占用 600M 的空间,因为读操作会先创建一个 600M 的固定大小文件,预计 3s之内,在创建时写 io 会升高。
模拟杀进程实验-此实验会指定进程号杀掉进程。支持命令行或者命令中进程匹配。
此实验可以验证程序的自愈能力,或者服务进程不存在时,系统的容错能力。
模拟脚本函数执行延迟实验-通过指定脚本和函数执行延迟场景。
模拟系统时间偏移实验-通过指定偏移时间,模拟系统时间偏移实验。
模拟Redis缓存过期实验-通过修改Redis指定的key过期时间,模拟Redis缓存过期实验。