系统负载load是衡量系统工作量的一个指标,具体的表示为:在特定时间间隔内,系统处于可运行状态和不可中断状态的平均进程数。监控负载load是一个重要指标,可以判断当前业务的负载情况,用于及时告警并做出应对措施。
实现原理
本方案使用云助手插件ACS-ECS-HighLoad
,通过vfork命令创建出预期数量的进程,以达到目标的load值,每个进程创建后执行sleep动作,直至超时退出。因此该场景对系统业务影响较小。
使用指南
演练准备
请确保您的ECS实例已安装云助手Agent,并且云助手状态为正常。具体操作,请参见查看云助手状态及异常状态处理。
故障注入
登录ECS实例。
具体操作,请参见通过密码或密钥认证登录Linux实例。
使用具有sudo访问权限的用户,运行云助手插件
ACS-ECS-HighLoad
。sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params inject,[num-processes=paramA],[duartion=paramB]
[]
内为可选故障注入参数,参数说明:num-processes(可选):需要创建的进程数量,该值略会近似预期达到的最大load值,默认100。
duartion(可选):持续时间,默认为300s。
显示如下所示时,说明云助手插件
ACS-ECS-HighLoad
已启动。查看故障注入是否成功。
使用top命令,分别检查1分钟、5分钟、15分钟系统负载的指标。
在云监控中检查系统负载曲线。
故障恢复
方法一(推荐):等待超时自动恢复。
方法二:在ECS实例中执行故障恢复命令。
sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params recover
演练示例
故障注入
sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params inject
返回如下所示,表示注入成功,
查看注入效果。
使用top命令中查看系统负载,如下图所示,1 min为98.33,5 min为58.24,15 min为32.66。
在云监控控制台查看平均负载。
等待故障恢复。
等待超时,系统负载会慢慢恢复。如下图,1 min的负载已经低于5 min的负载,说明已经在恢复中。
执行故障恢复命令。
sudo acs-plugin-manager --exec --plugin ACS-ECS-HighLoad --params recover
文档内容是否对您有帮助?