当前位置:首页>Linux>Linux性能压测工具完全总结:从CPU、内存到磁盘、网络的终极指南

Linux性能压测工具完全总结:从CPU、内存到磁盘、网络的终极指南

  • 2026-10-01 10:28:49
Linux性能压测工具完全总结:从CPU、内存到磁盘、网络的终极指南

很多工程师在做系统优化时都会遇到一个问题:

系统到底能扛多少压力?瓶颈在哪里?

如果没有压测,你看到的性能几乎都是假象。

真正的系统优化流程其实是:

压测 → 发现瓶颈 → 优化 → 再压测
Linux生态中其实已经有一整套非常成熟的压测工具,但大多数工程师只会用ab或wrk,对其他工具几乎不了解。

本文系统性整理Linux下最重要的性能压测工具体系,覆盖:

  • CPU

  • 内存

  • 磁盘

  • 网络

  • HTTP

  • 全系统压力

并给出 真实工程实践中的使用方式。


一、为什么必须做压测

没有压测的系统优化,本质是:

拍脑袋优化

真实系统中最常见的情况:

系统慢 ↓怀疑数据库 ↓优化 SQL ↓结果没变化
原因可能是:
  • CPU 已经打满

  • 磁盘 IO 阻塞

  • 网络带宽瓶颈

  • 内存 swap

压测的意义:

  1. 找到系统极限

  2. 找到瓶颈组件

  3. 验证架构设计

  4. 验证扩容策略


二、Linux 压测工具全景图

Linux 压测工具可以按资源维度划分:


三、CPU 压测工具

1 stress-ng(最强工具)

stress-ng 是 Linux 最强的压力测试工具之一。

支持:

  • CPU

  • 内存

  • IO

  • 调度

  • 网络

  • 虚拟内存

安装

Ubuntu
apt install stress-ng
Mac
brew install stress-ng
CPU 压测
stress-ng --cpu 8 --timeout 60
含义:
8 个 CPU worker持续 60 秒
观察 CPU
tophtop
结果:
CPU usage ≈ 800%

2 sysbench CPU

sysbench 也是经典压测工具。

安装

apt install sysbench
压测 CPU
sysbench cpu \  --cpu-max-prime=20000 \  --threads=8 \  run
输出:
CPU speed:    events per second:   287.19General statistics:    total time:                          10.0155s    total number of events:              2877Latency (ms):         min:                                   16.19         avg:                                   27.81         max:                                   48.53         95th percentile:                       32.53         sum:                                80020.66Threads fairness:    events (avg/stddev):           359.6250/0.48    execution time (avg/stddev):   10.0026/0.01
用于比较不同机器性能。

四、内存压测工具

1 stress-ng 内存压测

stress-ng --vm 4 --vm-bytes 2G --timeout 60
含义:
4 个 worker每个使用 2G
总内存压力:≈ 8G

2 memtester

专门用于:

内存稳定性测试

安装

apt install memtester
运行
memtester 4G 5
含义
测试 4GB 内存循环 5 次
适合:
  • 硬件检测

  • 云服务器测试


五、磁盘 IO 压测

磁盘性能是很多系统的瓶颈。

常见工具:


1 dd(最简单)

写入测试

dd if=/dev/zero of=test.img bs=1G count=1 oflag=direct
输出:
1.0 GB copied, 0.8 s, 1.3 GB/s
读取测试
dd if=test.img of=/dev/null bs=1G
缺点:
  • 不支持复杂 IO 模型


2 fio(最专业)

fio是最强IO压测工具。

安装

apt install fio
随机读写测试
fio --name=randrw --rw=randrw --bs=4k --size=1G --numjobs=4 --runtime=60 --group_reporting
输出:
IOPS=50000BW=200MB/s

IO 模型支持

readwriterandreadrandwriterandrw
模拟:
  • MySQL

  • Kafka

  • Redis


3 ioping(磁盘延迟)

类似 ping。

安装

apt install ioping
运行
ioping .
输出
avg latency: 0.4 ms
用于判断:

磁盘延迟


六、网络压测工具

1 iperf3(带宽测试)

最常用网络压测工具。

安装

apt install iperf3
服务端
iperf3 -s
客户端
iperf3 -c server_ip
输出
Bandwidth: 9.4 Gbits/sec

2 netperf

更专业的网络性能测试工具。

安装

apt install netperf
TCP 测试
netperf -H server_ip

延迟测试

netperf -H server_ip -t TCP_RR

3 sockperf(延迟神器)

专门测试:微秒级延迟

适合:

  • 交易系统

  • 高性能网络

安装

apt install sockperf

七、HTTP 压测工具

最常见场景:

Web API 压测


1 wrk(最推荐)

安装

brew install wrk
运行
wrk -t8 -c200 -d30s http://localhost:8080
参数
-t 线程-c 连接-d 持续时间
输出
Requests/sec: 45000Latency: 3ms

2 hey(Go版 ab)

安装

brew install hey
运行
hey -n 100000 -c 200 http://localhost:8080

3 ApacheBench

经典工具

ab -n 100000 -c 200 http://localhost:8080/
缺点:
  性能较低

八、全系统压力测试

如果你只想:

把机器压到极限

推荐两个工具。


1 stress-ng

一条命令压满机器

stress-ng --cpu 8 --vm 4 --io 4 --timeout 60
系统压力:
CPU + IO + Memory

2 sysbench 全系统

sysbench \ --threads=16 \ --time=60 \ cpu run

九、压测 + 性能分析组合

真正专业的工程师不会只压测。

而是:

压测 + 分析

推荐组合:

压测
分析
wrk
perf
fio
iostat
stress-ng
top
iperf3
ss

perf 分析 CPU

perf top
或者
perf recordperf report

IO 分析

iostat -x 1

网络

ss -s

十、生产环境压测原则

压测必须遵循三条原则。


1 逐步加压

不要一上来:10000 QPS

正确方式:

10050010002000
逐步增加。

2 观察系统指标

压测同时观察:

CPULoadIONetwork
工具:
htopatopdstat

3 找到拐点

系统通常有一个:性能拐点

示例

QPS||        *|       *  * |      *      *|    *|  *| *|________________        并发
超过这个点:延迟会暴涨、QPS下降

十一、压测工具终极推荐表

资源
最佳工具
CPU
stress-ng
Memory
stress-ng
Disk
fio
Network
iperf3
HTTP
wrk
Latency
sockperf

十三、工程师最强压测组合

真正的生产压测流程:

wrk  →  API 压测fio  →  磁盘测试iperf3 → 网络带宽stress-ng → 系统极限perf → 找CPU瓶颈

这套组合几乎可以分析 99% 的性能问题。


结语

Linux 世界里有一句非常经典的话:

Without measurement, there is no optimization.

如果没有压测:

  • 你的系统性能只是猜测

  • 你的优化没有依据

  • 你的架构无法验证

掌握这些工具,你就拥有了一整套:系统性能工程能力。

文章推荐
Linux性能排查神器:top系列工具终极指南(工程师必备)
Linux性能突然变慢?这套“1 分钟诊断法”我一直在用

最新文章

随机文章