iperf工具源码下载、编译、以及测试网络带宽

1、iperf源码下载

(1)源码下载地址:https://iperf.fr/iperf-download.php;
(2)有的版本源码下载下来并不能直接编译成功,可能会报缺少头文件或者编译选项的错误,要么去解决这些错误,要么换个版本再试一下;
(3)在我的环境中,2.0.9版本的iperf是可以直接编译成功的,下面的讲解都是基于2.0.9版本;
(4)如果只是用iperf的基本功能,比如测网络带宽,没必要下载最新版本的iperf,最好是和你的交叉编译工具链时间上相近的;

2、iperf编译

//配置iperf源码,指定交叉编译工具链
./configure --host=arm-himix200v002-linux

(1)iperf源码中,刚解压开时是没有Makefile的,需要先运行顶层目录的configure配置文件,根据配置生成Makefile;
(2)在运行configure文件时,通过–host指定交叉编译工具链,如果还需要配置其他的去查看configure源码;
(3)在顶层生成Makefile文件后,使用make命令编译,在./src目录下会生成iperf可执行程序;

3、iperf工具测试网络带宽

3.1、测试网络代码的基本原理

(1)iperf工具采用的客户端/服务器模式,统计客户端和服务器之间传递数据的多少和耗时,计算出网络带宽;
(2)在A设备上运行iperf指定为服务器模式;在B设备上运行iperf工具指定为客户端模式,然后客户端去连接服务器端,iperf就可统计出网络代码;

3.2、测试网络带宽的命令

//A设备:-s表示服务器端;
iperf -s

//B设备:
//-c --表示客户端,
//192.168.0.11 --是服务器端的ip
//-t 100 --测试100秒
//-i 5 --每5秒打印一下测试结果
iperf -c 192.168.0.11 -t 100 -i 5

(1)首先确认A和B设备之间网络能ping通;
(2)A设备:运行服务器端;
(3)B设备:运行客户端;

3.3、实测效果

~ # iperf -c 192.168.0.11 -t 100 -i 5
------------------------------------------------------------
Client connecting to 192.168.0.11, TCP port 5001
TCP window size: 43.8 KByte (default)
------------------------------------------------------------
[  3] local 192.168.0.22 port 40052 connected with 192.168.0.11 port 5001
[  3] 35.0-40.0 sec  56.0 MBytes  94.0 Mbits/sec
[  3] 40.0-45.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3] 45.0-50.0 sec  55.9 MBytes  93.7 Mbits/sec
[  3] 50.0-55.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3] 55.0-60.0 sec  55.9 MBytes  93.7 Mbits/sec
[  3] 60.0-65.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3] 65.0-70.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3] 70.0-75.0 sec  56.0 MBytes  94.0 Mbits/sec
[  3] 75.0-80.0 sec  56.1 MBytes  94.2 Mbits/sec
[  3] 80.0-85.0 sec  56.0 MBytes  94.0 Mbits/sec
[  3] 85.0-90.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3] 90.0-95.0 sec  55.9 MBytes  93.7 Mbits/sec
[  3] 95.0-100.0 sec  56.2 MBytes  94.4 Mbits/sec
[  3]  0.0-100.0 sec  1.10 GBytes  94.1 Mbits/sec

上面是100M网口的测试结果,平均94Mb/s左右,也就是11.75MB/s,比100M网口的理论值12.5MB/s稍低一点,但也在正常范围内。

你可能感兴趣的:(软件工具的用法,服务器,网络,linux,iperf)