故障注入之如何给服务器CPU注入高负载

应用的可靠性测试,需要考虑其在服务器高负载下能否持续正确的提供服务,常见的高负载包括CPU使用率高、磁盘IO高,内存使用率高等场景,本次讨论如何对服务器注入CPU的高负载。

CPU利用率高

因为某种原因导致CPU使用率达到100%,导致应用对外服务能力下降或不可用。

故障注入方法

方法1:使用yes命令

yes>/dev/null

#这个命令只能使cpu的1个核跑满100%,多核的话就起多个命令。

拿我只有1个核的服务器走一个

 

 

 

方法2:循环跑一个系统调用

#!/bin/bash
while true
do
date >/dev/null
done

#这个调用只能使cpu的1个核跑满100%,多核的话就起多个命令。

 

 

 

可以看到方法1和方法2的区别在于方法一是us比较高,方法二是sys比较高,因为方法2的date命令会进行疯狂的系统调用,从而导致sys占比较高。

 

方法3:循环跑ssl测试

#!/bin/bash
while true
do
 /usr/bin/openssl speed>/dev/null2>&1
don

#这个调用只能使cpu的1个核跑满100%,多核的话就起多个命令。

 

 

方法4.使用stress工具

yum  install stress -ystress-c 1-t 120

stress-c 1-t 120  

# -c cpu核心数量 

# -t 压测时长

 

 

 

方法5:使用chaosblade

blade create cpu fullload

 

posted @ 2021-03-16 22:31  明矾  阅读(1035)  评论(0编辑  收藏  举报