故障注入之如何给服务器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
但行好事,莫问前程
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
· 没有源码,如何修改代码逻辑?
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· DeepSeek 开源周回顾「GitHub 热点速览」
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了