Linux 系统性能压测工具全景指南(含工程实战)

对于后端工程师、运维工程师而言,系统优化的核心前提的是"知己知彼"------只有明确系统的性能极限、定位性能瓶颈,优化操作才能有的放矢。但实际工作中,很多工程师陷入"盲目优化"的误区:系统响应变慢,就默认是数据库SQL问题,一顿优化后却发现性能毫无改善。其实,问题可能出在CPU打满、磁盘IO阻塞、网络带宽瓶颈或内存swap异常等任一环节。

这一切的根源,在于缺乏有效的压测。没有压测的系统优化,本质上就是"拍脑袋决策"------你看到的系统性能,只是低负载下的"假象",无法反映高并发、高压力下的真实表现。

Linux 生态早已提供了一整套成熟的性能压测工具,但大多数工程师仅掌握 ab、wrk 等基础工具,对覆盖CPU、内存、磁盘、网络、HTTP等全场景的工具链了解甚少。本文将系统性梳理 Linux 下最核心的性能压测工具体系,结合真实工程实践,详细讲解各工具的安装、使用方法、参数解读及场景适配,帮助工程师快速掌握压测能力,精准定位系统瓶颈。

一、为什么必须做压测?

在讨论工具之前,我们先明确一个核心问题:压测的核心价值是什么?

真实工程场景中,"系统慢"的排查往往陷入误区:

系统响应延迟 → 怀疑数据库性能 → 优化SQL、调整索引 → 重启服务后,延迟依旧没有改善

出现这种情况,大概率是因为没有找到真正的瓶颈------可能是CPU已经被计算任务打满,导致进程无法及时调度;可能是磁盘IO读写阻塞,数据库无法快速读取数据;也可能是网络带宽耗尽,请求无法正常传输;甚至是内存不足触发swap,导致系统性能断崖式下降。

而压测,就是解决这种"盲目排查"的关键,其核心意义体现在4个方面:

  • 找到系统极限:明确系统在不同并发、不同负载下的性能上限(如QPS、TPS、响应时间),避免生产环境因突发流量导致系统崩溃。

  • 定位瓶颈组件:精准识别性能瓶颈所在的硬件(CPU、内存、磁盘、网络)或软件组件(数据库、中间件、应用服务),为优化提供明确方向。

  • 验证架构设计:检验系统架构是否符合预期,比如分布式架构的负载均衡效果、缓存策略的有效性,避免架构设计"纸上谈兵"。

  • 验证扩容策略:提前测试扩容方案的有效性,比如增加服务器节点、提升硬件配置后,系统性能是否线性提升,避免扩容后依旧出现性能瓶颈。

一句话总结:Without measurement, there is no optimization.(没有测量,就没有优化),压测是系统性能工程的基础,也是工程师必备的核心技能。

二、Linux 压测工具全景图

Linux 压测工具种类繁多,但按照测试的资源维度,可清晰划分为5大类,覆盖全系统性能场景,每类工具各有侧重,工程师可根据实际需求灵活选择:

测试维度 核心工具 工具特点 核心场景
CPU stress-ng、sysbench stress-ng功能最强,支持多场景CPU压测;sysbench适合对比不同机器性能 CPU密集型任务(如计算、编码)性能测试
内存 stress-ng、memtester stress-ng支持内存压力模拟;memtester专注内存稳定性检测 内存溢出、内存泄漏、硬件内存故障检测
磁盘IO dd、fio、ioping dd最简单;fio最专业,支持复杂IO模型;ioping专注延迟测试 数据库、消息队列等IO密集型服务性能测试
网络 iperf3、netperf、sockperf iperf3最常用;netperf更专业;sockperf擅长微秒级延迟测试 网络带宽、延迟、吞吐量测试,分布式系统网络性能验证
HTTP wrk、hey、ApacheBench(ab) wrk性能最优、推荐使用;hey轻量;ab经典但性能一般 Web API、接口服务的并发、响应时间测试
全系统 stress-ng、sysbench 一键压满CPU、内存、IO等全资源,模拟极限负载 系统整体性能极限测试、服务器硬件稳定性测试

三、分维度压测工具详解(含工程实战)

以下按资源维度,详细讲解各核心工具的安装、使用方法、参数解读及实战技巧,所有命令均经过生产环境验证,可直接复制使用。

3.1 CPU 压测工具

CPU是系统的"计算核心",CPU瓶颈常见于计算密集型服务(如大数据处理、机器学习、编码解码)。以下两个工具覆盖绝大多数CPU压测场景,其中 stress-ng 为首选。

3.1.1 stress-ng(CPU压测首选,功能最强)

stress-ng 是 Linux 下功能最全面的压力测试工具,支持CPU、内存、IO、网络等多维度压测,稳定性强,参数灵活,可模拟各种极端负载场景,是生产环境压测的首选工具。

安装方法(多系统适配)

  • Ubuntu/Debian 系统:apt install stress-ng -y

  • CentOS/RHEL 系统:需先安装 EPEL 源,再执行 yum install stress-ng -y

  • Mac 系统:brew install stress-ng

核心用法(CPU压测)

最常用命令(模拟8核CPU满负载,持续60秒):

bash 复制代码
stress-ng --cpu 8 --timeout 60

参数解读

  • --cpu 8:启动8个CPU worker进程,每个进程持续执行计算任务,模拟8核CPU负载(若服务器为4核,可设为4,避免超核导致的资源竞争)。

  • --timeout 60:压测持续时间,单位为秒,60秒后自动停止压测。

结果观察与分析

压测过程中,可通过以下命令观察CPU状态:

  • top:实时查看CPU使用率,若8核CPU满负载,使用率约为800%(每核100%)。

  • htop:更直观的交互式界面,可查看每个CPU核心的负载情况,排查是否存在单核心瓶颈。

实战技巧:若需模拟CPU密集型场景(如高并发计算),可增加worker数量,但需注意与服务器CPU核心数匹配,避免过多进程导致上下文切换频繁,影响压测准确性。

3.1.2 sysbench CPU(经典工具,适合性能对比)

sysbench 是一款经典的多线程性能测试工具,支持CPU、内存、数据库等多维度测试,其CPU测试主要通过计算素数来模拟CPU负载,适合对比不同服务器的CPU性能。

安装方法

  • Ubuntu/Debian 系统:apt install sysbench -y

  • CentOS/RHEL 系统:yum install sysbench -y

核心用法(CPU压测)

bash 复制代码
sysbench cpu --cpu-max-prime=20000 --threads=8 run

参数解读

  • cpu:指定测试模块为CPU。

  • --cpu-max-prime=20000:指定素数计算的最大值,值越大,CPU计算压力越大,测试时间越长。

  • --threads=8:启动8个线程执行测试,与CPU核心数匹配即可。

  • run:执行测试(可替换为 prepare 准备环境、cleanup 清理环境)。

输出结果解读(关键指标)

text 复制代码
CPU speed:
    events per second:   287.19  # 每秒完成的计算事件数,数值越高,CPU性能越强
General statistics:
    total time:         10.0155s  # 测试总时间
    total number of events:    2877  # 总计算事件数
Latency (ms):
    min:            16.19  # 最小延迟
    avg:            27.81  # 平均延迟
    max:            48.53  # 最大延迟
    95th percentile:    32.53  # 95%请求的延迟(核心指标,反映绝大多数请求的性能)
Threads fairness:
    events (avg/stddev):   359.6250/0.48  # 线程事件数的平均值和标准差,标准差越小,线程负载越均衡
    execution time (avg/stddev): 10.0026/0.01  # 线程执行时间的平均值和标准差

实战技巧:使用sysbench CPU测试时,建议保持 --cpu-max-prime 参数一致,通过对比"events per second"指标,可快速判断不同服务器的CPU性能差异。

3.2 内存压测工具

内存瓶颈常见于内存泄漏、内存不足、缓存过大等场景,若内存不足触发swap(内存与磁盘交换),会导致系统性能急剧下降。以下工具可覆盖内存压力模拟和稳定性测试。

3.2.1 stress-ng 内存压测(首选,模拟内存负载)

stress-ng 的内存压测功能可灵活模拟多进程内存占用,支持指定每个进程的内存大小,适合测试系统在高内存负载下的稳定性。

核心用法(模拟8G内存负载)

bash 复制代码
stress-ng --vm 4 --vm-bytes 2G --timeout 60

参数解读

  • --vm 4:启动4个内存worker进程,每个进程持续占用指定大小的内存。

  • --vm-bytes 2G:每个worker进程占用2G内存,4个进程总占用约8G内存(需确保服务器内存充足,避免触发swap影响测试)。

  • --timeout 60:压测持续60秒。

结果观察

使用 free -htop 命令观察内存占用情况,若内存占用接近设定值,且无明显swap使用(swap 列数值无明显增长),说明系统内存充足;若出现大量swap,说明内存不足,需优化内存配置或扩容。

3.2.2 memtester(内存稳定性测试,适合硬件检测)

memtester 是一款专门用于内存稳定性测试的工具,通过向内存写入不同类型的数据,再读取验证,可检测内存硬件故障、内存泄漏等问题,适合云服务器、物理机的内存硬件检测。

安装方法

  • Ubuntu/Debian 系统:apt install memtester -y

  • CentOS/RHEL 系统:yum install memtester -y

核心用法(测试4GB内存,循环5次)

bash 复制代码
memtester 4G 5

参数解读

  • 4G:指定测试的内存大小,需小于服务器空闲内存(避免触发swap)。

  • 5:测试循环次数,次数越多,测试越全面,耗时越长。

实战场景

  1. 新购买的物理机/云服务器,可通过memtester测试内存硬件是否存在故障,若测试过程中出现"errors detected",说明内存存在问题,需更换硬件或联系云服务商。

  2. 排查内存泄漏问题:若系统长期运行后内存占用持续增长,可通过memtester测试内存稳定性,排除硬件问题后,再排查应用程序的内存泄漏。

3.3 磁盘 IO 压测工具

磁盘IO是很多系统的性能瓶颈,尤其是数据库、消息队列(MySQL、Kafka、Redis)等IO密集型服务,磁盘的读写速度、延迟直接影响系统响应性能。以下工具覆盖简单测试、专业测试和延迟测试。

3.3.1 dd(最简单的IO测试工具,适合快速验证)

dd 是 Linux 自带的命令行工具,可用于简单的磁盘读写速度测试,操作简单,无需额外安装,但不支持复杂IO模型(如随机读写),适合快速验证磁盘基本性能。

核心用法(写入测试+读取测试)

  1. 写入测试(向磁盘写入1个1G的文件,测试写入速度):
bash 复制代码
dd if=/dev/zero of=test.img bs=1G count=1 oflag=direct
  1. 读取测试(读取刚才写入的文件,测试读取速度):
bash 复制代码
dd if=test.img of=/dev/null bs=1G

参数解读

  • if=/dev/zero:输入源,/dev/zero 是Linux的空字符设备,可持续生成空字符,用于写入测试。

  • of=test.img:输出文件,即写入的目标文件。

  • bs=1G:块大小,即每次读写的大小,1G表示每次读写1GB数据(可根据需求调整为4k、1M等)。

  • count=1:读写次数,即写入1个块,总大小为 bs*count=1GB。

  • oflag=direct:跳过系统缓存,直接写入磁盘,避免缓存影响测试结果(核心参数,确保测试的是真实磁盘性能)。

输出结果解读

text 复制代码
1.0 GB copied, 0.8 s, 1.3 GB/s

其中 1.3 GB/s 即为磁盘写入/读取速度,数值越高,磁盘IO性能越强。

缺点:仅支持顺序读写,无法模拟数据库、Kafka等服务的随机读写场景,测试结果参考价值有限,适合快速验证。

3.3.2 fio(最专业的IO压测工具,生产环境首选)

fio 是 Linux 下功能最强大、最专业的IO压测工具,支持顺序读写、随机读写、混合读写等多种IO模型,可模拟MySQL、Kafka、Redis等不同服务的IO场景,参数灵活,是生产环境IO压测的首选工具。

安装方法

  • Ubuntu/Debian 系统:apt install fio -y

  • CentOS/RHEL 系统:yum install fio -y

核心用法(随机读写测试,模拟数据库场景)

bash 复制代码
fio --name=randrw --rw=randrw --bs=4k --size=1G --numjobs=4 --runtime=60 --group_reporting

参数解读(核心参数,必记)

  • --name=randrw:测试任务名称,可自定义。

  • --rw=randrw:IO模型,randrw表示随机读写(常用值:read=顺序读、write=顺序写、randread=随机读、randwrite=随机写)。

  • --bs=4k:块大小,4k是数据库、Redis等服务的常见IO块大小,可根据实际场景调整(如Kafka常用16k)。

  • --size=1G:测试文件大小,建议大于系统缓存大小,避免缓存影响测试结果。

  • --numjobs=4:启动4个进程执行测试,模拟多并发IO场景。

  • --runtime=60:压测持续时间,60秒。

  • --group_reporting:按组输出测试结果,避免每个进程单独输出,更简洁。

输出结果解读(关键指标)

text 复制代码
randrw: (g=0): rw=randrw, bs=(R) 4096B-4096B, (W) 4096B-4096B, (T) 4096B-4096B, ioengine=libaio, iodepth=1
fio-3.16
Starting 4 processes
Jobs: 4 (f=4): [m(4)] [100.0% done] [0B/0B/0B /s] [0/0/0 iops] [eta 00m:00s]
randrw: (groupid=0, jobs=4): err= 0: pid=12345: Mon Mar 14 10:00:00 2026
  read: IOPS=25000, BW=97.7MB/s (102MB/s)  # 随机读IOPS和带宽
  write: IOPS=25000, BW=97.7MB/s (102MB/s) # 随机写IOPS和带宽
  total: IOPS=50000, BW=195MB/s (204MB/s)  # 总IOPS和带宽(核心指标)
  latency (ms): min=0.02, avg=0.15, max=2.30, 95th=0.30
  cpu: usr=2.00%, sys=8.00%, ctx=120000, majf=0, minf=0
  IO depths: 1=100.0%, 2=0.0%, 4=0.0%, 8=0.0%, 16=0.0%, 32=0.0%, >=64=0.0%
     submit: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     complete: 0=0.0%, 4=100.0%, 8=0.0%, 16=0.0%, 32=0.0%, 64=0.0%, >=64=0.0%
     issued rwts: total=122880,122880,0,0 short=0,0,0,0 dropped=0,0,0,0
     latency: target=0, window=0, percentile=100.00%, depth=1

关键指标说明:

  • IOPS:每秒IO操作次数,是磁盘IO性能的核心指标,数值越高,磁盘处理IO的能力越强(数据库场景通常要求IOPS≥10000)。

  • BW(带宽):每秒读写数据量,反映磁盘的传输速度。

  • latency(延迟):IO操作的延迟,95th percentile(95%延迟)是核心指标,反映绝大多数IO操作的响应时间,延迟越低越好。

实战场景适配

  • 模拟MySQL场景:fio --name=mysql --rw=randrw --bs=4k --size=10G --numjobs=8 --runtime=120 --group_reporting(4k块大小、随机读写,模拟MySQL的行级读写)。

  • 模拟Kafka场景:fio --name=kafka --rw=write --bs=16k --size=20G --numjobs=4 --runtime=120 --group_reporting(16k块大小、顺序写,模拟Kafka的日志写入)。

3.3.3 ioping(磁盘延迟测试,快速判断磁盘响应)

ioping 是一款专门用于测试磁盘延迟的工具,用法类似 ping 命令,可实时测试磁盘的读写延迟,适合快速判断磁盘是否存在延迟过高的问题。

安装方法

  • Ubuntu/Debian 系统:apt install ioping -y

  • CentOS/RHEL 系统:yum install ioping -y

核心用法(测试当前目录所在磁盘的延迟)

bash 复制代码
ioping .

输出结果解读

text 复制代码
4 KiB <=> 4096 B requests
^C
--- . (ext4 /dev/sda1) ioping statistics ---
100 requests completed in 99.8 ms, 400 KiB read, 1002 iops, 3.91 MiB/s
generated 101 requests in 100.0 ms, 404 KiB, 1010 iops, 3.94 MiB/s
min/avg/max/mdev = 0.30/0.40/0.80/0.08 ms

关键指标:avg latency: 0.4 ms(平均延迟),正常机械硬盘延迟约为5-10ms,固态硬盘(SSD)延迟约为0.1-1ms,若延迟远超正常范围,说明磁盘存在性能问题。

3.4 网络压测工具

网络瓶颈常见于分布式系统、高并发接口服务,主要表现为带宽耗尽、延迟过高、吞吐量不足。以下工具覆盖带宽测试、延迟测试、吞吐量测试,满足不同网络压测场景。

3.4.1 iperf3(最常用,网络带宽测试首选)

iperf3 是一款轻量、高效的网络带宽测试工具,支持TCP、UDP协议,可测试网络的最大带宽、吞吐量,是分布式系统网络性能验证的常用工具,需在服务端和客户端同时运行。

安装方法

  • Ubuntu/Debian 系统:apt install iperf3 -y

  • CentOS/RHEL 系统:yum install iperf3 -y

核心用法(TCP带宽测试)

  1. 服务端(接收数据,需提前启动):
bash 复制代码
iperf3 -s
  1. 客户端(发送数据,连接服务端):
bash 复制代码
iperf3 -c server_ip

参数解读

  • -s:以服务端模式运行。

  • -c server_ip:以客户端模式运行,连接服务端的IP地址。

  • 可选参数:-t 60(测试持续60秒)、-P 4(启动4个并发连接)。

输出结果解读(关键指标)

text 复制代码
Connecting to host server_ip, port 5201
[  5] local client_ip port 12345 connected to server_ip port 5201
[ ID] Interval           Transfer     Bitrate         Retr  Cwnd
[  5]   0.00-1.00   sec  1.10 GBytes  9.40 Gbits/sec    0    850 KBytes
[  5]   1.00-2.00   sec  1.12 GBytes  9.58 Gbits/sec    0   1.02 MBytes
...
[  5]   9.00-10.00  sec  1.11 GBytes  9.45 Gbits/sec    0   1.15 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Retr
[  5]   0.00-10.00  sec  11.1 GBytes  9.45 Gbits/sec    0             sender
[  5]   0.00-10.00  sec  11.1 GBytes  9.45 Gbits/sec                  receiver

关键指标:Bitrate: 9.45 Gbits/sec(网络带宽),数值接近服务器网卡带宽(如10G网卡,理想带宽约为9.5 Gbits/sec),说明网络带宽正常;若远低于网卡带宽,需排查网络链路、防火墙等问题。

3.4.2 netperf(更专业,网络性能细节测试)

netperf 是一款比 iperf3 更专业的网络性能测试工具,支持TCP、UDP协议,可测试网络的吞吐量、延迟、并发连接数等细节指标,适合深入分析网络性能问题。

安装方法

  • Ubuntu/Debian 系统:apt install netperf -y

  • CentOS/RHEL 系统:yum install netperf -y

核心用法

  1. TCP吞吐量测试(服务端无需单独启动,客户端自动触发):
bash 复制代码
netperf -H server_ip
  1. TCP延迟测试(测试请求响应延迟):
bash 复制代码
netperf -H server_ip -t TCP_RR

参数解读

  • -H server_ip:指定服务端IP地址。

  • -t TCP_RR:指定测试类型为TCP请求-响应模式,用于测试网络延迟。

实战场景:适合排查分布式系统中"网络延迟过高"的问题,通过 netperf 测试不同节点间的延迟,定位延迟高的链路。

3.4.3 sockperf(延迟神器,微秒级延迟测试)

sockperf 是一款专门用于测试网络微秒级延迟的工具,适合对延迟敏感的场景(如高频交易系统、高性能分布式计算),可精准测量网络的往返延迟(RTT),精度远高于 iperf3、netperf。

安装方法

  • Ubuntu/Debian 系统:apt install sockperf -y

  • CentOS/RHEL 系统:yum install sockperf -y

核心用法

  1. 服务端:
bash 复制代码
sockperf server
  1. 客户端(测试往返延迟):
bash 复制代码
sockperf client server_ip --time 60

输出结果中,avg latency 即为平均往返延迟,通常高频交易系统要求延迟低于100微秒。

3.5 HTTP 压测工具(Web接口压测)

HTTP压测是最常见的压测场景,主要用于测试Web API、接口服务的并发能力、响应时间、QPS等指标,以下工具覆盖不同需求,其中 wrk 为首选。

3.5.1 wrk(最推荐,高性能HTTP压测工具)

wrk 是一款高性能的HTTP压测工具,基于多线程模型,支持自定义脚本,性能远高于 ab、hey,适合高并发场景的接口压测,是后端工程师最常用的HTTP压测工具。

安装方法

  • Ubuntu/Debian 系统:需手动编译安装(参考官方文档),或通过apt install wrk -y(部分版本支持)。

  • Mac 系统:brew install wrk

核心用法(测试本地8080端口接口,8线程、200并发、持续30秒)

bash 复制代码
wrk -t8 -c200 -d30s http://localhost:8080

参数解读

  • -t8:启动8个测试线程。

  • -c200:模拟200个并发连接(即同时有200个请求发送到接口)。

  • -d30s:压测持续30秒。

  • 可选参数:-s script.lua(指定自定义脚本,用于模拟POST请求、带请求头的请求等)。

输出结果解读(关键指标)

text 复制代码
Running 30s test @ http://localhost:8080
  8 threads and 200 connections
  Thread Stats   Avg      Stdev     Max   +/- Stdev
    Latency     3.00ms    0.50ms  10.00ms   85.00%
    Req/Sec     8.00k     0.80k   10.00k    75.00%
  1919872 requests in 30.02s, 230.00MB read
Requests/sec:  63955.73  # QPS(每秒请求数,核心指标)
Transfer/sec:      7.66MB  # 每秒数据传输量

关键指标:Requests/sec: 63955.73(QPS),即每秒处理的请求数,数值越高,接口并发能力越强;Latency(延迟),平均延迟越低越好。

实战技巧:自定义脚本(模拟POST请求)

创建 script.lua 文件,内容如下(模拟POST请求,带请求头和请求体):

lua 复制代码
wrk.method = "POST"
wrk.headers["Content-Type"] = "application/json"
wrk.body = '{"username":"test","password":"123456"}'

执行命令:wrk -t8 -c200 -d30s -s script.lua http://localhost:8080/login

3.5.2 hey(Go版ab,轻量易用)

hey 是用Go语言开发的HTTP压测工具,轻量、易用,支持POST、GET等多种请求方式,性能优于 ab,适合快速验证接口性能。

安装方法

  • Mac 系统:brew install hey

  • Linux 系统:可从GitHub下载二进制文件,直接执行。

核心用法(发送10万次请求,200并发)

bash 复制代码
hey -n 100000 -c 200 http://localhost:8080

参数解读:-n 为请求总数,-c 为并发数,用法简单,适合快速测试。

3.5.3 ApacheBench(ab,经典工具,性能一般)

ab 是 Apache 自带的HTTP压测工具,历史悠久、用法简单,但性能较低,不适合高并发场景(并发数超过1000时容易出现瓶颈),适合简单的接口验证。

核心用法(发送10万次请求,200并发)

bash 复制代码
ab -n 100000 -c 200 http://localhost:8080/

缺点:高并发下测试结果不准确,且不支持复杂请求(如带请求体的POST请求),仅适合简单场景使用。

3.6 全系统压力测试(一键压满所有资源)

若需快速测试服务器的整体性能极限,或验证服务器在极端负载下的稳定性,可使用以下两个工具,一键压满CPU、内存、IO等所有资源。

3.6.1 stress-ng(全系统压测首选)

bash 复制代码
stress-ng --cpu 8 --vm 4 --io 4 --timeout 60

参数解读:同时启动8个CPU worker、4个内存worker、4个IO worker,持续压测60秒,模拟CPU、内存、IO同时满负载的场景,适合测试服务器的整体稳定性。

3.6.2 sysbench 全系统压测

bash 复制代码
sysbench --threads=16 --time=60 cpu run

参数解读:启动16个线程,持续60秒,同时压测CPU,间接带动内存、IO负载,适合快速验证服务器的整体性能。

四、压测 + 性能分析组合(专业工程师必备)

真正专业的工程师,不会只做压测------压测的核心目的是"发现瓶颈",而瓶颈的定位,需要结合性能分析工具。以下是生产环境最常用的"压测+分析"组合,可覆盖99%的性能问题排查场景。

压测工具 对应分析工具 分析目的 核心命令
wrk/hey/ab(HTTP压测) perf、top、htop 排查接口压测时的CPU瓶颈 perf top、top
fio(IO压测) iostat 分析磁盘IO瓶颈,查看IO使用率、等待时间 iostat -x 1(每秒输出一次IO状态)
stress-ng(全系统压测) top、free、iostat、ss 全面分析CPU、内存、IO、网络瓶颈 top、free -h、iostat -x 1、ss -s
iperf3/sockperf(网络压测) ss、netstat 排查网络连接、端口占用、带宽瓶颈 ss -s、netstat -an

核心分析工具用法简介

  • perf:CPU性能分析神器,可查看CPU占用率最高的进程、函数,定位CPU瓶颈。

    • perf top:实时查看CPU占用率最高的进程和函数。