故障演练活动是演练任务的核心,本文介绍了主要的演练活动及其参数配置说明。

每一个执行阶段的演练活动往往对应一个恢复阶段的演练任务。恢复阶段的演练活动目的是清除故障演练的影响,使应用或服务恢复正常,通常不需要配置参数。本文不再介绍恢复阶段的演练活动。

CPU 满载

CPU 负载达到 100%。

参数名称 参数说明
CPU 核心数 当被演练机器是多核 CPU 时,指定需要提高负载的 CPU 核心数目。

杀进程

杀掉指定进程。

参数名称 参数说明
进程名 要结束的进程的名称

域名访问不通

指定域名无法访问。

参数名称 参数说明
域名 不包含协议头(http:// 或 https://),不包含端口号
IP 地址 域名的 IP 地址

网络延迟

制造网络延迟。

参数名称 参数说明
时长 单位是毫秒(ms),填写需要延迟的持续时间
偏移量 基于设置的时长上下浮动。例如,时长为 10 ms,偏移量为 2 ms,那么演练中实际生效时长是 8 ms ~ 12 ms。
网络设备 网卡 ID,例如:eth0
服务端口号 本地服务监听的端口号
访问的端口号 访问的外部服务的端口号

网络丢包

网络请求的数据包按比例丢失。

参数名称 参数说明
百分比 丢包的比例,范围是 0 ~ 100
网络设备 网卡 ID,例如:eth0
服务端口号 指定的服务的端口号
排除的端口号 排除的本地服务监听的端口号

填充磁盘

使用文件填充磁盘,占用磁盘空间。

参数名称 参数说明
空间大小 单位是 MB,要占用的磁盘空间大小。
挂载的磁盘 指定挂载的磁盘,例如:/dev

磁盘 IO 高

通过读写文件使磁盘 IO 负载增加。

参数名称 参数说明
读写次数 读写的文件总次数,默认 1024 次。
文件大小 单位是 MB,单次读写的文件大小,默认是 1 MB。
读文件 通过读文件的方式增大磁盘 I/O 负载
写文件 通过写文件的方式增大磁盘 I/O 负载
挂载的磁盘 指定增大哪个磁盘的 I/O,例如:/dev

删除 Docker 容器

删除 Docker 容器。

参数名称 参数说明
容器 ID 要删除的 Docker 容器 ID
是否强制删除 强制删除是指允许删除运行状态的容器。

检查探针版本

检查探针版本是否满足演练需要,最低版本为 1.4.3。如不符合,需要重新安装探针。

查询 CPU

查询被演练机器的 CPU 指标 system.cpu.util

在演练执行阶段结束后,可以查看 CPU 指标变化情况、机器信息和执行日志,以确保达到了演练目的,如下图所示。

查询磁盘 I/O

在演练执行阶段结束后,查询被演练机器的 I/O,以确保达到了演练目的。

查询网络丢包率

在演练执行阶段结束后,查询被演练机器的网络丢包率 system.net.packet.dropped,以确保达到了演练目的。

每秒读完成次数

在演练执行阶段结束后,查询磁盘读指标 disk.io.read,以确保达到了演练目的。

每秒写次数

在演练执行阶段结束后,查询磁盘写指标 disk.io.write,以确保达到了演练目的。