工作中我们可能会遇到需要模拟高并发的情况,就是我们说的压测,以下通过一些shell脚本用于模拟 OOM(内存耗尽)、CPU 高负载、网络高吞吐 和 磁盘高 IO 压力。
工具依赖安装
确保系统中已安装必要工具:
1 | # Debian/Ubuntu |
模拟内存耗尽(OOM)
1 |
|
使用方式:
1 | chmod +x stress_oom.sh |
终止条件:系统触发 OOM Killer 或手动终止。
模拟 CPU 高负载
1 |
|
使用方式:
1 | chmod +x stress_cpu.sh |
说明:使用 stress 工具压满所有 CPU 核心。
模拟网络高吞吐
1 |
|
使用方式:
在目标机器启动服务端:
1 | iperf3 -s |
在压测机器运行:
1 | chmod +x stress_network.sh |
模拟磁盘高 IO
1 |
|
使用方式:
1 | chmod +x stress_disk.sh |
注意事项
风险提示:
- OOM 测试可能导致系统崩溃或进程被杀死。
- 磁盘测试可能损坏硬件,避免在无冗余的硬盘上执行。
- 网络测试需确保目标 IP 可达且有足够带宽。
监控资源:
1 | # 实时监控工具 |
终止测试:
- 按 Ctrl+C 终止脚本,或使用 killall stress dd iperf3。