🧭 说明

iperf 是一款功能强大的网络性能测试工具,通过在两台主机间建立数据流,来测量网络的带宽、抖动、丢包率等关键指标。其基本工作模式是客户端/服务器模式。

下面这个流程图汇总了使用 iperf 进行测试的典型流程,可以根据它来规划操作步骤。

是

否,需调整

开始使用iperf

选择测试模式

TCP测试

UDP测试

高级测试

服务器端启动
iperf -s -i 1

客户端连接测试
iperf -c 服务器IP -t 10

服务器端启动
iperf -s -u -i 1

客户端连接测试
iperf -u -c 服务器IP -b 100M -t 10

并行测试
iperf -c 服务器IP -P 4

双向测试
iperf -c 服务器IP -d 或 -r

分析测试结果

结果是否符合预期?

测试结束

💻 核心参数速查

理解上述流程后,下表汇总了 iperf 最常用的一些参数。

参数功能描述示例
-s将当前主机设置为服务器端(接收端)。iperf -s
-c将当前主机设置为客户端(发送端),后接服务器IP地址。iperf -c 192.168.1.100
-u使用 UDP 协议进行测试(默认为TCP)。iperf -c 192.168.1.100 -u
-b指定UDP测试的目标带宽(TCP中通常用于限速)。iperf -c 192.168.1.100 -u -b 100M
-t设置测试的持续时间,单位秒(默认10秒)。iperf -c 192.168.1.100 -t 30
-i设置定期报告输出的间隔时间,单位秒。iperf -s -i 2
-P建立多个并行连接,常用于压测瓶颈带宽。iperf -c 192.168.1.100 -P 4
-p指定服务器监听的端口号(默认5201)。iperf -s -p 5001
-d / -r进行双向测试。-d为同时双向,-r为先后双向。iperf -c 192.168.1.100 -d
-l设置读写缓冲区的长度,即数据包大小。iperf -c ... -u -l 1024
-w设置 TCP 窗口大小,可能影响高速长延迟链路的性能。iperf -c ... -w 64K
-B绑定到指定的网络接口或地址。iperf -s -B 0.0.0.0
-f格式化带宽输出,如以 Kbits, Mbits, Gbits 等单位显示。iperf -c ... -f m

💡 实用技巧与场景

掌握基本命令后,了解一些进阶技巧和场景。

  • 确保版本一致:为保证测试稳定,建议服务器端和客户端使用相同版本的 iperf,尤其是主要版本号(如 iperf2 或 iperf3)。
  • 优先使用iperf3:iperf3 是 iperf 的现代化版本,具有更简洁的命令行设计和更好的性能,建议新项目优先采用。但需注意两者命令参数可能不完全兼容。
  • 测试时长设置:短时间测试(如10秒)可能无法反映网络持续性能,而长时间测试(如60秒以上)能更好地评估网络稳定性。
  • 先进行TCP测试:初步排查网络问题时,可先进行TCP测试。如果TCP带宽正常,再进行更复杂的UDP测试。
  • 结果解读:TCP测试主要关注 Bandwidth(带宽)指标。UDP测试则需额外关注 Jitter(抖动)和 Lost/Total Datagrams(丢包率),抖动值越低、丢包率越接近0,说明网络质量越好。
Logo

北京人形旗下天工造物具身智能开源社区,聚焦具身天工与慧思开物两大平台

更多推荐