网络命令82 条

iperf3 带宽压测

内网带宽与质量的基准工具:一端 -s 服务、另一端 -c 打流;-P 并发流、-R 反向测试、-u UDP 测丢包抖动。

Linux 运维命令速查系统更新于 2026-10-13

iperf3 是什么

iperf3 采用一服务端、一客户端的模型测量链路吞吐与质量:服务端 iperf3 -s 监听,客户端 iperf3 -c 打流。它可以测 TCP 与 UDP,输出带宽、重传、抖动与丢包率。做网络变更验收、虚拟化宿主机与虚机之间带宽核对、跨机房链路评估时,它是事实上的基准工具。

基本信息

适用平台Linux/Unix/Windows(各端需先安装 iperf3)
命令语法服务端 iperf3 -s;客户端 iperf3 -c 服务器地址 [选项]
常用选项-t 持续时间 -P 并发流数 -R 反向(服务端发、客户端收)-u UDP -b 目标带宽 -O 忽略前几秒的预热
默认端口5201(TCP),UDP 模式同样默认使用该端口
注意事项iperf3 与 iperf2 的协议不兼容,两端都要用 iperf3

典型使用场景

  • 新链路验收:确认带宽是否符合采购或承诺值
  • 跨机房评估:测出实际可用吞吐与抖动,为选路提供依据
  • 虚拟化与容器网络:对比虚机与宿主机、不同网络模式的吞吐差异
  • 变更前后对比:确认调优或升级没有引入退化
  • 丢包与抖动排查:UDP 模式定量看丢包率与抖动

常用示例

常用示例
# A 机(服务端)
iperf3 -s                                   # 默认监听 5201
iperf3 -s -p 5202                          # 换端口,便于并行测试

# B 机(客户端)
iperf3 -c 10.0.0.5 -t 10                   # 单流测 10 秒
iperf3 -c 10.0.0.5 -t 10 -P 4              # 4 条并发流
iperf3 -c 10.0.0.5 -R -t 10                # 反向:服务端发、客户端收
iperf3 -c 10.0.0.5 -u -b 200M -t 10        # UDP 限速 200Mbps,看丢包与抖动
iperf3 -c 10.0.0.5 -t 20 -O 5              # 忽略前 5 秒预热数据

结果字段读法

字段含义怎么看
Interval分段统计区间看是否有前后波动,而不只看汇总
Bitrate该区间实际带宽与链路标称值对比,关注是否稳定
RetrTCP 重传次数明显非零说明有丢包或拥塞
JitterUDP 抖动(毫秒)实时音视频类业务对抖动敏感
Lost 与 TotalUDP 丢包数与总包数按比例判断丢包是否超出业务容忍
sender 与 receiver发送侧与接收侧统计两侧差距大说明链路中间有丢弃
单流跑不满不等于链路有问题:单条 TCP 流的吞吐受往返时延与窗口大小限制,先加 -P 4 或 -P 8 用多流压测,再判断链路上限。反之,多流明显高于单流,说明瓶颈在单流窗口而不是链路本身。
UDP 模式必须显式限速(-b):不加限速时 iperf3 的默认目标带宽可能直接打满链路,在生产网络上等同于一次流量洪水,会影响同链路上的其他业务。测完也要确认服务端进程已退出。

易错点

  • UDP 模式不限速(-b)会当成洪水打满链路,可能影响生产业务
  • 结果受 CPU 影响:虚拟机上 10G 打不满先看客户端侧 CPU 使用率与中断分布
  • 单流吞吐受时延与窗口限制,判断链路上限必须用多流(-P)压测
  • iperf3 与 iperf2 协议不兼容,两端版本不一致会直接连接失败
  • 服务端默认端口 5201 需要放行,跨安全组或跨机房测试前先确认策略

数据来源与参考

  • iperf3 官方文档(software.es.net/iperf)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌