作为一名运维人员,你是否遇到过这种场景?需要用工具测试系统cpu或内存占用高来触发告警,或者通过压测测试服务的并发能力。作为运维工程师,也可以通过这些命令复现故障场景。那么通过本文可以让你掌握常用的测试命令和工具。
一、前言
部分场景下,定位和复现项目问题需要使用工具进行系统压测,模拟和还原故障现场。那么测试或者压测工具就派上用场了,下面我们分不同场景来模拟工具的使用
二、测试工具
2.1 网络限速工具tc
tc 是 Linux 中用于配置网络参数的命令行工具,通过它可以模拟不同网络状况,实现网络限速的效果。
使用场景:网络限速工具常用于模拟弱网络环境,测试系统在低带宽或高延迟情况下的性能。
用法举例
实测效果,我们设置主机丢包延迟40ms,修改前延迟如下
设置延迟40ms
再次ping测试,效果还是很明显的,确实很好用,更多用法,小伙伴们自己去研究吧
2.2 CPU 内存测试工具 - stress
stress 是一个 Linux 下的压力测试工具,可以模拟 CPU 和内存的高负载情况,用于测试系统的稳定性。
使用场景:CPU/内存/磁盘测试工具常用于评估系统在高负载条件下的稳定性,检测系统的性能极限。此外,也可以测试告警的时候,使用stress工具来压测
工具安装
然后进行 CPU 和内存的测试:
测试 CPU,持续运行 4 个进程
实验:压测4个cpu,持续时间180s
测试内存,分配 1GB 内存
2.3 磁盘测速工具dd
dd 是一个 Linux 下的命令行工具,用于复制文件并对数据进行转换。通过它,我们可以测试硬盘的读写速度。
使用场景:硬盘测速工具常用于评估磁盘性能,选择最适合的存储方案,并检测磁盘是否存在性能瓶颈。
要测试读取速度和写入速度,可以使用dd命令的不同参数。例如,要测试读取速度,可以使用if参数从文件读取数据,而要测试写入速度,可以使用of参数将数据写入文件。
测试写入速度:
这会将零数据写入/data/test文件中,测试写入速度
这会从/data/test文件中读取数据并将其丢弃,从而测试读取速度。
注:也可以使用fio来测磁盘速度
2.4. 流量访问压测工具 - ab
ab 是 Apache 自带的一个小型工具,用于测试 HTTP 服务器的性能。
使用场景:流量访问压测工具常用于评估 Web 服务器的性能,检测系统在并发访问下的表现。
ab工具安装
测试网站的并发连接数
这将创建10个并发连接,每个连接执行100个请求。
测试网站的请求速度
这将创建100个并发连接,总共执行1000个请求`.这时可以通过监控观察cpu和内存,用来初步评估平台的并发承载能力。