Linux下使用iperf3进行网速带宽测试的完整指南
一、iperf3安装教程
1.1 各系统安装命令
Debian/Ubuntu:
sudo apt update && sudo apt install iperf3
CentOS/RHEL:
sudo yum install epel-release && sudo yum install iperf3
Fedora:
sudo dnf install iperf3
macOS:
brew install iperf3
二、基础测试流程
2.1 服务器端启动
iperf3 -s -p 5201 # 默认端口5201,可指定其他端口如-p 8888
2.2 客户端连接测试
iperf3 -c 192.168.1.100 -p 5201 # 连接服务器IP的指定端口
三、常用参数详解
3.1 核心参数
| 参数 | 说明 | 示例 |
|---|---|---|
-t | 测试时长(秒) | -t 30(测试30秒) |
-P | 并发连接数 | -P 5(5个并发流) |
-R | 反向测试(服务器→客户端) | -R(双向传输) |
-u | UDP协议测试 | -u(需配合-b使用) |
-b | UDP带宽限制 | -b 1000M(1Gbps) |
-l | 数据包大小 | -l 1460(UDP默认) |
3.2 高级参数
| 参数 | 说明 | 示例 |
|---|---|---|
-J | JSON格式输出 | -J(便于脚本解析) |
-O | 忽略前N秒数据 | -O 5(排除前5秒不稳定数据) |
-w | TCP窗口大小 | -w 2M(调整至2MB) |
-Z | 零拷贝模式 | -Z(降低CPU占用) |
四、典型测试场景示例
4.1 TCP单向带宽测试
服务器端:
iperf3 -s -p 5201
客户端:
iperf3 -c 192.168.1.100 -t 30 -P 3 # 30秒,3并发流
4.2 UDP双向性能测试
服务器端:
iperf3 -s -p 5202
客户端:
iperf3 -c 192.168.1.100 -p 5202 -u -b 1000M -t 60 -R # 60秒,1Gbps UDP反向测试
4.3 多线程TCP压力测试
iperf3 -c 10.0.0.25 -P 10 -i 2 -t 30 # 10线程,每2秒输出一次结果
五、结果解读与分析
5.1 TCP测试关键指标
- Bandwidth:平均带宽(如
940 Mbits/sec表示接近千兆速率) - Retr:重传次数(高频重传说明网络不稳定)
- Cwnd:拥塞窗口大小(反映TCP传输效率)
5.2 UDP测试关键指标
- Jitter:抖动值(<5ms为优秀,>20ms需警惕)
- Lost/Total Datagrams:丢包率(应接近0%,如
2/100000表示0.002%)
六、排障与优化
6.1 常见问题
- 连接失败:检查防火墙是否开放端口(如5201),使用
telnet 192.168.1.100 5201验证连通性。 - 低带宽:尝试增大
-w参数(如-w 4M)或调整MTU值(-M 1460)。 - 高丢包:检查网络设备是否过载,或降低UDP测试带宽(
-b 500M)。
6.2 性能优化技巧
- 多线程测试:使用
-P参数突破单线程性能瓶颈。 - 零拷贝模式:添加
-Z参数减少CPU消耗,适合大流量测试。 - 双向测试:通过
-R参数同时评估上传和下载性能。
通过上述步骤,您可以全面评估Linux系统的网络带宽性能,精准定位网络瓶颈。
评论区