Linux命令-iperf命令(网络性能测试工具)
·
🧭 说明
iperf 是一款功能强大的网络性能测试工具,通过在两台主机间建立数据流,来测量网络的带宽、抖动、丢包率等关键指标。其基本工作模式是客户端/服务器模式。
下面这个流程图汇总了使用 iperf 进行测试的典型流程,可以根据它来规划操作步骤。
💻 核心参数速查
理解上述流程后,下表汇总了 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,说明网络质量越好。
更多推荐
所有评论(0)