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系统的网络带宽性能,精准定位网络瓶颈。
评论区