ChaosBlade混沌测试—模拟CPU负载篇

在上篇文章“业务代码故障注入指南,测试必看!”中,我们简要介绍了 ChaosBlade(还不了解的同学可以复习下噢)。它既可以模拟 CPU 负载高的场景,以测试系统在资源紧张情况下的表现,也可以模拟内存压力,以测试系统在高内存负载下的稳定性和性能。
本期文章重点介绍如何使用 ChaosBlade 模拟 CPU 负载的实验。
1 ChaosBlade模拟CPU负载功能介绍
目前ChaosBlade支持的CPU负载场景,主要包括4类:全部CPU核心负载升高、指定某几个CPU核心负载升高、部分CPU核心负载升高和随机某几个CPU核心负载升高。
负载填充也分为3种方式:负载呈阶梯式逐步上升、负载按百分比填充和负载瞬间打满。
相关参数说明如下:
参数名 | 说明 | 类型 | 值 |
cpu-count | 指定 CPU 负载的核数 | int | 仅当cpu-list为空时有效,取值范围为 0-cpu 逻辑核数,默认取值 cpu 逻辑核数 |
cpu-list | 指定 CPU 负载的具体核,核索引从 0 开始 | string | 0-3 或 0,3 |
cpu-percent | 指定 CPU 负载百分比 | int | 取值范围为0-100,默认为100 |
climb-time | 指定 CPU 负载爬坡时间,单位秒 | int | 取值范围为0-600,默认为0 |
Cgroup-root | 指定Cgroup路径,在容器环境中使用 | String | |
timeout | 设定运行时长 | string | 单位是秒,通用参数 |
2 具体示例
接下来,通过几个场景示例演示如何使用ChaosBlade模拟CPU负载。
1. 创建 全部CPU 满载实验,相关命令如下:
blade create cpu fullload
输出如下所示,则代表实验执行成功,result 返回值表示实验的 uid,在销毁实验中需要使用到。
{"code":200,"success":true,"result":" 1527fb06a9f1d24f"}可通过 top 1 指令查看执行情况,发现8核cpu全部满载。

实验生效,接下来销毁实验,如下所示。

2. 随机指定核数满载,相关命令如下:
blade create cpu fullload --cpu-count 3
使用 top 1 指令验证,如下图所示,指令生效,Cpu5 和 Cpu6和cpu7 满载。

3. 指定具体索引核满载,相关命令如下
ChaosBlade混沌测试—模拟CPU负载篇
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。



