Linux系统压测工具

发布时间:2026/7/15 22:50:24
Linux系统压测工具 Linux系统压测工具掌握常用的测试命令和工具。一、前言部分场景下定位和复现项目问题需要使用工具进行系统压测模拟和还原故障现场。那么测试或者压测工具就派上用场了下面我们分不同场景来模拟工具的使用二、测试工具2.1 网络限速工具tctc 是 Linux 中用于配置网络参数的命令行工具通过它可以模拟不同网络状况实现网络限速的效果。使用场景网络限速工具常用于模拟弱网络环境测试系统在低带宽或高延迟情况下的性能。用法举例# 设置延时30mssudo tc qdisc add dev eth0 root netem delay 30ms # 范围内延时(10-50ms)sudo tc qdisc add dev eth0 root netem delay 30ms 20ms #设置丢包10%sudo tc qdisc add dev eth0 root netem loss 10%#删除丢包设置sudo tc qdisc del dev eth0 root netem loss 10% # 显示延时的设置 :sudo tc qdisc showsudo tc qdisc show dev eth0# 修改延时sudo tc qdisc change dev eth0 root netem delay 40ms#随机产生1%的重复数据包sudo tc qdisc add dev eth0 root netem duplicate 1%#设置数据包乱序sudo tc qdisc change dev eth0 root netem delay 10ms reorder 25% 50%# 删除延时sudo tc qdisc del dev eth0 root netem delay 40ms实测效果我们设置主机丢包延迟40ms修改前延迟如下设置延迟40ms[rootknode1 ~]# sudo tc qdisc add dev ens33 root netem delay 40ms [rootknode1 ~]# sudo tc qdisc show dev ens33qdisc netem 8002: root refcnt 2 limit 1000 delay 40.0ms再次ping测试效果还是很明显的确实很好用更多用法小伙伴们自己去研究吧2.2 CPU 内存测试工具 - stressstress 是一个 Linux 下的压力测试工具可以模拟 CPU 和内存的高负载情况用于测试系统的稳定性。使用场景CPU/内存/磁盘测试工具常用于评估系统在高负载条件下的稳定性检测系统的性能极限。此外也可以测试告警的时候使用stress工具来压测工具安装sudo apt-get install stress #ubuntu系统yum install stress #Centos系统然后进行 CPU 和内存的测试测试 CPU持续运行 4 个进程# stress --io 2 --cpu 4 --vm 2 --vm-bytes 80M --timeout 1440m--cpu N生成 N 个工作进程来施加 CPU 负载。# stress --cpu 8 会创建 8 个进程每个都尝试占用 100% 的 CPU 时间。--io N生成 N 个工作进程来执行 I/O 操作增加 I/O 负载。# stress --io 4 会创建 4 个 I/O 生成进程。--vm N# 生成 N 个工作进程来分配内存并定期写入随机数据。每个进程默认分配 256MB 内存。--vm-bytes B#指定每个 --vm 工作进程分配的内存量。stress --vm 2 --vm-bytes 128M 会生成 2 个工作进程每个分配 128MB 内存。--hdd N# 生成 N 个工作进程来执行磁盘 I/O 操作。stress --hdd 2 会创建 2 个磁盘 I/O 生成进程。--hdd-bytes B# 指定每个 --hdd 工作进程写入磁盘的数据量。stress --hdd 1 --hdd-bytes 1G 会创建一个工作进程来写入 1GB 的数据。--timeout T# 指定 stress 运行的时间T 是时间可以是秒默认、分钟加 m、小时加 h。stress --cpu 4 --timeout 30s 会在 30 秒后停止 CPU 负载测试# 显示详细信息包括生成的工作进程的状态。--verbose实验压测4个cpu持续时间180sstress --cpu 4 --timeout 180s测试内存分配 1GB 内存stress --vm 2 --vm-bytes 20G --timeout 360s--vm 2: 表示启动2个虚拟内存压力工作线程。--vm-bytes 20G: 每个工作线程使用的虚拟内存大小为20GB。--timeout 360s: 设置压力测试持续时间为360秒6分钟2.3 磁盘测速工具dddd 是一个 Linux 下的命令行工具用于复制文件并对数据进行转换。通过它我们可以测试硬盘的读写速度。使用场景硬盘测速工具常用于评估磁盘性能选择最适合的存储方案并检测磁盘是否存在性能瓶颈。要测试读取速度和写入速度可以使用dd命令的不同参数。例如要测试读取速度可以使用if参数从文件读取数据而要测试写入速度可以使用of参数将数据写入文件。测试写入速度dd if/dev/zero of/data/test bs4k count100k这会将零数据写入/data/test文件中测试写入速度dd if/data/test of/dev/null bs4k这会从/data/test文件中读取数据并将其丢弃从而测试读取速度。注也可以使用fio来测磁盘速度2.4. 流量访问压测工具 - abab 是 Apache 自带的一个小型工具用于测试 HTTP 服务器的性能。使用场景流量访问压测工具常用于评估 Web 服务器的性能检测系统在并发访问下的表现。ab工具安装sudo apt-get install apache2-utils #ubuntu系统sudo yum install httpd-tools #Centos系统测试网站的并发连接数ab -c 10 -n 100 https://example.com/这将创建10个并发连接每个连接执行100个请求。测试网站的请求速度ab -n 1000 -c 100 https://example.com/这将创建100个并发连接总共执行1000个请求.这时可以通过监控观察cpu和内存用来初步评估平台的并发承载能力。