iperf交叉编译与简单使用(转)

iperf交叉编译与简单使用

使用的iperf版本

iperf版本为 iperf-2.0.9 下载地址

iperf编译

下载后解压 iperf-2.0.9-source.tar.gz 文件,进入 iperf-2.0.9 目录,输入命令配置

./configure --host=arm-linux-gnueabihf CC=arm-linux-gnueabihf-gcc CFLAGS=-static CXX=arm-linux-gnueabihf-g++ CXXFLAGS=-static

然后 make 编译即可,编译完成,可在 src 目录下找到编译好的 iperf 应用,因其为静态编译,故直接将其放到开发板里就可以了。

测试

iperf 是一个网络性能测试工具,可以测试TCP与UDP的网络带宽。测试可在linux上进行,亦可在Windows上进行。

  • Linux下TCP测试

先在Linux上安装iperf,然后将其当成服务器,输入命令

#iperf -s -i 1 -w 1M

开发板作为客户端,输入命令(假设服务器ip为192.168.1.20)

#iperf -c 192.168.1.20 -i 1 -w 1M

  • Windows下TCP测试

先下载Windows下使用的测试软件,对应的版本为
iPerf 2.0.9 (6 jun 2016 - 1.7 MiB for Windows Vista 64bits to Windows 10 64bits) 或者
iPerf 2.0.9 (6 jun 2016 - 1.7 MiB for Windows XP to Windows 10)
下载地址与使用的iperf版本的 下载地址 一致。

解压 iperf-2.0.9-win64.zip 文件,可以看到一个 iperf.exe 文件,用 iperf.exe 替代上述Linux命令下 iperf 即可,打开Windows下的命令提示符,进入解压目录,输入命令

#iperf.exe -s -i 1 -w 1M

开发板作为客户端,命令不变。

这里为方便演示,直接使用 Linux(虚拟机作为服务器) 与 Windows(客户端) 下的测试。具体使用可查看此博客: https://www.cnblogs.com/Ph-one/p/10767962.html

Linux下打印如下:
Windows打印如下
Windows打印如下:
Linux下打印如下

编译问题

使用iperf-2.0.8与iperf-2.0.5等版本编译会出现如下错误:
cpp_type_traits.h:205:12: error: redefinition of ‘struct std::__is_integer’
解决办法:为新编译器问题,使用 iperf-2.0.9 版本没有这个问题
在这里插入图片描述(具体情况可查看以下两个网址)
https://gitlab.flux.utah.edu/emulab/emulab-devel/issues/336
https://www.huaweicloud.com/kunpeng/software/iperf.html

原文地址:https://www.cnblogs.com/erhu-67786482/p/13746248.html