iperf2移植和使用参考
1. 移植¶
iperf是一个开源的网络性能测试工具,主要用于测量网络带宽、延迟和吞吐量等参数,它可以帮助开发者评估和优化网络性能,可在客户端和服务器之间进行测试,支持TCP和UDP协议,提供了多种选项和参数进行测试。
1.1. 源码下载¶
windows版本2.0.9下载链接:https://iperf.fr/iperf-download.php#windows
1.2. 交叉编译¶
此处指定对应的编译器:
tar -zxvf iperf-2.0.9.tar.gz cd iperf-2.0.9/ export PATH=/tools/toolchain/gcc-10.2.1-20210303-sigmastar-glibc-x86_64_aarch64-linux-gnu/bin:$PATH ; export ARCH=arm64 ; export CROSS_COMPILE=aarch64-linux-gnu- ./configure --prefix=$PWD/install --host=arm CXX=${CROSS_COMPILE}g++ CC=${CROSS_COMPILE}gcc make clean -j8 make -j8 make install
注意上述示例步骤中的export命令指定的编译链地址,实际操作时请根据真实的编译链路径进行声明。执行上述步骤后将在iperf-2.0.9/install/bin
路径下找到生成的iperf程序。
原有生成的程序大小较大,可以通过aarch64-linux-gnu-strip iperf --strip-unneeded
命令进行裁剪。
2. 环境搭建¶
2.1. 拷贝文件¶
将iperf文件拷贝至project/release/chip/pcupid/dispcam/common/glibc/10.2.1/release/bin/debug
目录下,并通过chmod +x命令添加可执行权限。
2.2. 镜像打包¶
在project
下执行make image_install
将会打包iperf到project/image/output/customer
,即实际板端运行起来的/customer
目录。
3. 测试验证¶
以PC Windows和Linux板端为例,首先需要保证两者在同一IP网段内,iperf相关参数可通过iperf -h
获得。
3.1. 吞吐测试¶
基于TCP协议测试吞吐量:PC Windows端作为服务端,运行.\iperf.exe -s
;Linux板端作为客户端,运行/customer/iperf -c xx.xx.xx.xx -i 1 -t 10
。
示例:
3.2. 丢包测试¶
基于UDP协议测试丢包率:Linux板端作为服务端,运行/customer/iperf -s -u
;PC Windows端作为客户端.\iperf.exe -c xx.xx.xx.xx -i 1 -t 10 -u
示例: