Chaosblade 常见场景演练

Mike_Jia / 2024-10-09 / 原文

1 CPU 满负载注入

例如:执行测试,对3个cpu做压力测试,分别对1,2,0做压力,cpu压力da

./blade create cpu fullload --cpu-count 3 --cpu-list 1,2,0 --cpu-percent 90

top 查看cpu状态

./blade create cpu fullload --cpu-count 1 --cpu-list 0 --cpu-percent 90

销毁:

./blade destroy 04387569ffd9e877

 

 

2 磁盘填充20G的文件

./blade create disk fill --size 20480

 

df  -h 查看磁盘状态

 

3 磁盘IO高

./blade create disk burn --write --read  --size 10 --timeout 300

 

 

4 网络禁止端口

blade create network drop --local-port 80 --remote-port 80

 

5 网络掉包50s

网络掉包50%

blade create network loss --interface eth0 --percent 50 --local-port 6483 --remote-port 6483

 

6 网络延迟

对网卡eth0,延时3

blade create network delay --interface eth0 --time 3000 --local-port 6483 --remote-port 6483

 

 

7 DUBBO 服务延迟

 ./blade create dubbo delay --time 3000 --service com.alibaba.demo.HelloService --methodname hello --consumer --process dubbo-consumer

Test: curl -o /dev/null -w "Server Response Time: %{time_starttransfer}\n"  http://ip:8080/hello?msg=world

 

http://ip:8080/hello?msg=world   访问该页面延迟3s

 

8 JAVA程序 抛出异常

启动java程序 java TestPrinter

./blade create jvm throwCustomException --process TestPrinter --classname TestPrinter --methodname test --exception java.lang.Exception

 

9 JAVA 程序 修改方法的返回值

启动java程序 java TestPrinter

./blade create jvm return --process TestPrinter --classname TestPrinter --methodname test --value 123456...

 

10脚本执行延迟

 blade create script delay --time 10000 --file test.sh --function-name start0

 

11脚本执行退出

./blade create script exit --exit-code 1 --exit-message this-is-error-message --file /test/test.sh --function-name start0

 

 

12 查看创建故障记录

./blade status --type create

 

 

 

13 查看销毁记录

./blade status --type destroy