iperf3工具使用说明
Instructions for using the iperf3 tool
————————————————————
前言
iperf工具用于测试网络性能。支持TCP、UDP等通信方式。可用于网络带宽、延迟、抖动和丢包的实际测试。
本文适用于 iperf 3.0.11 以上版本,有关“iperf3工具使用说明”的内容更新请参照本公众号内最新文章。
一、下载
-
iperf官网:iperf.fr
-
iperf源码:https://github.com/esnet/iperf (Github)
-
Windows版本:https://iperf.fr/iperf-download.php#windows (32位&64位)
注: Github网站因为中国大陆DNS污染,无法正常访问请使用魔法或另寻它径。
本文下载的是iperf3.0.11版本,公众号内回复“iperf3.0.11”可以获得LET提供的备份文件。
二、安装
1. Windows 7/8/10 平台
windows 版本官网提供的是可直接执行的二进制文件,故无需编译。
直接解压压缩包至任意非中文路径文件夹,文件结构参考如下:
E:\iperf-3.0.11-win32>dir
驱动器 E 中的卷是 Soft
卷的序列号是 1EAD-86C0
E:\iperf-3.0.11-win32 的目录
2022/09/13 09:53 <DIR> .
2022/09/13 09:53 <DIR> ..
2016/02/26 20:32 110,109 cyggcc_s-1.dll
2016/01/24 11:25 3,518,523 cygwin1.dll
2016/03/23 14:00 351,965 iperf3.exe
3 个文件 3,980,597 字节
2 个目录 319,020,175,360 可用字节
E:\iperf-3.0.11-win32>
说明: windows 平台使用的是DOS命令。
2. Linux 平台
在Linux平台我们下载的是C语言源代码程序压缩包,需要系统安装配置好编译环境,如GCC 4.8.5
以上版本套件。
按照以下命令依次执行:
./configure
make
make install
提示: 如若遇到文件权限不足,请使用root权限,或检查文件系统/目录读写权限。
三、运行
1. 以TCP协议方式
1.1 服务端(Listening)
iperf3 -s -p 5201
说明: -s
表示作为服务端, -p
表示使用 5201
端口(默认)。
1.2 客户端
iperf3 -c 192.168.5.106 -P 2 -i 1 -p 5201 -t 86400
说明:
-c 192.168.5.106
表示连接的服务端地址为 192.168.5.106
。
-P 2
表示使用线程数为 2
。
-i 1
表示数据打印间隔为 1s
。
-p 5202
通过5201端口
进行通信(默认)。
-t 86400
表示运行一个周期的时间为 86400s
(24h)。
2. 以UDP协议方式
2.1 服务端(Listening)
iperf3 -s -p 5202
说明: -s
表示作为服务端, -p
表示使用 5202
端口(默认)。
2.2 客户端
iperf3 -u -c 192.168.5.106 -b 100M -i 1 -p 5202 -t 86400
说明:
-u
表示通信服务以UDP方式
运行。
-c 192.168.5.106
表示连接的服务端地址为 192.168.5.106
。
-b 100M
表示限定带宽为 100Mbps
。
-i 1
表示数据打印间隔为 1s
。
-p 5202
通过5202端口
进行通信。
-t 86400
表示运行一个周期的时间为 86400s
。
四、修改&定制
1. 解除 iperf3 -t
最长时间为86400s的限制
-
在源码压缩包解压路径内,编辑
iperf-3.0.11/src/iperf.h
文件。 -
找到默认参数
MAX_TIME
,将86400
修改为需要的时间,单位为秒(s)。
五、注意事项
-
iperf工具既支持作为客户端,也支持作为服务端。
-
源码编译
make install
安装失败,请检查系统用户/文件权限。2.1 用户是否为root用户权限,添加
sudo
执行命令。2.2 系统是否为写保护状态。
-
通信故障,请检查IP设置、防火墙设置。或检查路由/交换机连接是否正确。
六、错误修复
1. 找不到libiperf.so.0文件
运行 iperf3 -v
提示:
iperf3: error while loading shared libraries: libiperf.so.0: cannot open shared object file: No such file or directory
解决办法:
方法一: 在系统中找到该文件添加到指定目录
1) 查找:find / -name libiperf.so.0
root@ubuntu:~# find / -name libiperf.so.0
/usr/local/lib/libiperf.so.0
/usr/lib/libiperf.so.0
......
2) 复制 /usr/local/
下的 libiperf.so.0 到 /lib
目录内。
方法二: 将文件添加到动态链接库配置
1) 编辑 /etc/ld.so.conf
文件
vim /etc/ld.so.conf
在文件末尾,新添加一行:
/usr/local/lib/libiperf.so.0
2) 生效修改
/sbin/ldconfig
方法三: 修改环境变量(推荐)
编辑你的用户根目录 .bashrc
文件,添加:
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/
更新环境变量:source ~/.bashrc
或. ~/.bashrc