使用 iperf 进行网络带宽测试
使用 iperf 进行网络带宽测试
介绍
在现代网络环境中,了解和评估网络的性能(如带宽、延迟、抖动等)是非常重要的。尤其是在部署服务器、搭建局域网或优化远程连接时,我们经常需要测试网络的实际传输能力。
iperf 是一个开源的网络性能测试工具,支持 TCP 和 UDP 协议,可以测量最大带宽、延迟、丢包率等指标。它广泛用于 Linux 和 Windows 平台,是系统管理员和网络工程师常用的工具之一。
安装 iperf
✅ 在 Ubuntu/Debian 上安装:
sudo apt update
sudo apt install iperf3
⚠️ 注意:
iperf3 是iperf 的新一代版本,推荐使用。
✅ 在 CentOS/RHEL 上安装:
sudo yum install epel-release
sudo yum install iperf3
✅ 在 macOS 上安装(使用 Homebrew):
brew install iperf3
✅ 在 Windows 上安装:
- 下载地址:https://iperf.fr/download_windows.php
- 解压后运行即可
基本用法
iperf 使用非常简单,分为两个角色:
- 服务端(Server) :监听来自客户端的连接请求
- 客户端(Client) :主动发起连接并发送数据进行测试
️ 启动 iperf 服务端
在一台机器上启动服务端:
iperf3 -s
输出示例:
------------------------------------------------------------
Server listening on 5201
------------------------------------------------------------
默认端口为 5201,你也可以通过 -p 指定其他端口:
iperf3 -s -p 8080
执行 iperf 客户端测试
在另一台机器上执行客户端命令:
iperf3 -c <服务器IP>
例如:
iperf3 -c 192.168.1.100
输出示例:
Connecting to host 192.168.1.100, port 5201
[ 4] local 192.168.1.101 port 57342 connected to 192.168.1.100 port 5201
[ ID] Interval Transfer Bandwidth
[ 4] 0.00-1.01 sec 1.08 GBytes 9.28 Gbits/sec
...
[ 4] 10.00-11.00 sec 1.10 GBytes 9.40 Gbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-11.00 sec 11.8 GBytes 9.34 Gbits/sec 0 sender
[ 4] 0.00-11.00 sec 11.8 GBytes 9.34 Gbits/sec receiver
高级参数说明
| 参数 | 说明 |
|---|---|
-t <秒数> |
设置测试持续时间,默认 10 秒 |
-i <间隔> |
每隔多少秒显示一次统计信息 |
-b <速率> |
指定目标带宽(适用于 TCP) |
-u |
使用 UDP 协议进行测试 |
-p <端口> |
指定通信端口 |
-P <并发数> |
并发连接数,提高测试准确性 |
示例命令
单次 TCP 测试(默认)
iperf3 -c 192.168.1.100
持续 30 秒的测试
iperf3 -c 192.168.1.100 -t 30
每 5 秒打印一次结果
iperf3 -c 192.168.1.100 -t 30 -i 5
多线程并发测试(4 个并发)
iperf3 -c 192.168.1.100 -P 4
UDP 测试(注意:不保证可靠性和顺序)
iperf3 -u -c 192.168.1.100 -b 1G
结果解读
典型输出字段含义如下:
| 字段 | 含义 |
|---|---|
| Interval | 时间区间 |
| Transfer | 总共传输的数据量 |
| Bandwidth | 实际带宽 |
| Retr | 重传次数(TCP) |
| Jitter | 抖动(UDP) |
| Lost | 丢包率(UDP) |
️ 安全与注意事项
- 防火墙设置:确保服务器的
5201 端口(或自定义端口)允许外部访问。 - 网络隔离:不要在生产环境中随意暴露测试端口。
- 权限控制:建议将
iperf3 -s 放入后台运行,并限制访问源 IP。
自动化脚本示例(Linux Shell)
#!/bin/bash
SERVER_IP="192.168.1.100"
DURATION=30
echo "Starting bandwidth test to $SERVER_IP for $DURATION seconds..."
iperf3 -c $SERVER_IP -t $DURATION -i 5
保存为 bandwidth_test.sh 并赋予执行权限:
chmod +x bandwidth_test.sh
./bandwidth_test.sh
参考资料
小结
iperf3 是一款强大而易用的网络性能测试工具,适合用于评估网络吞吐能力、检测瓶颈、验证网络配置是否合理等场景。掌握其基本用法和高级参数,能帮助你更好地管理和优化网络环境。
如果你喜欢这篇文章,欢迎分享给更多人 !

浙公网安备 33010602011771号