iperf3 是一个网络性能测试工具,用于测量网络带宽、吞吐量、延迟、丢包等关键指标。它基于客户端-服务器(C/S)模型,支持 TCP、UDP 和 SCTP 协议,并提供了丰富的参数选项,适用于网络调试、性能评估和故障排查。
iperf3:https://iperf.fr/iperf-download.php
启动服务器(监听端口默认 5201)
iperf3 -s
客户端连接测试(TCP 默认)
iperf3 -c <服务器IP>
下面把“最常用参数”与“最常用 10 个示例”拆开列,复制即可跑。
所有示例均假设:
服务器 IP:10.0.0.1
客户端已安装 iperf3,防火墙已放行对应端口
10 个高频参数
参数 |
作用 |
示例片段 |
|
客户端模式,连指定服务器 |
|
|
服务器模式 |
|
|
测试时长(秒) |
|
|
并行 4 条流 |
|
|
反向模式(下行) |
|
|
UDP 测试 |
|
|
UDP 限速 100 Mbps |
|
|
改端口 |
|
|
JSON 输出 |
|
|
每秒刷新 |
|
10 个“复制即用”经典场景
最简 TCP 上行
iperf3 -c 10.0.0.1
30 秒 TCP 下行(反向)
iperf3 -c 10.0.0.1 -R -t 30
4 线程 TCP 满吞吐
iperf3 -c 10.0.0.1 -P 4 -t 30
UDP 100 Mbps 上行 30 秒
iperf3 -c 10.0.0.1 -u -b 100M -t 30
UDP 1 Gbps 打满,看丢包
iperf3 -c 10.0.0.1 -u -b 1G -t 30
改端口 5202(服务端加 -p 5202)
iperf3 -c 10.0.0.1 -p 5202
每秒刷新 + 30 秒 + JSON 结果(方便脚本)
iperf3 -c 10.0.0.1 -t 30 -i 1 -J > result.json
测试 IPv6 链路
iperf3 -c 2001:db8::1
双向同时(先开两窗口,一个 -R 一个正常)
# 窗口 1:下行 iperf3 -c 10.0.0.1 -R -t 30 # 窗口 2:上行 iperf3 -c 10.0.0.1 -t 30
持续打流 5 分钟,看链路稳定性
iperf3 -c 10.0.0.1 -P 4 -t 300 -i 1
下面给出一个最常用、最简明的“iperf3 测带宽”示例,先给出命令,再逐字解释每个字段在客户端/服务端到底做了什么。读完你就能自己照抄命令,也能知道它背后的含义。
先把“谁是谁”说清楚
服务端(Server)
角色:被动等待别人来连我,只负责收/发数据并统计。
命令:iperf3 -s
客户端(Client)
角色:主动发起连接,按用户指定的时间/并行度/窗口大小把数据灌过去(或拉过来),最后出报告。
命令:iperf3 -c <服务器IP>
1. 在服务器端执行(假设服务器 IP 是 10.0.0.1)
$ iperf3 -s Server listening on 5201 (test port 5201)
2. 在客户端执行
$ iperf3 -c 10.0.0.1
322 Mbits/sec(即 322 Mbps)
这是测试双方在 10 秒内的平均传输速率,客户端和服务器端都显示了一致的结果(sender 和 receiver 均为 322 Mbits/sec),说明网络链路在这个测试中是稳定且对称的。