嵌入式linux网络性能测试工具iperf

2019-07-12 14:18发布

       通常在某些应用中我们会以太网作为高速传输媒介接口,在前期的验证以及硬件完成以后都需要进行必要的性能测试。单片机中由于RAM有限通常不会实现完整的TCP/IP协议栈,而采用诸如uIP/LWIP这种微协议,能满足绝大部分应用,测试方法大致有 1.简单的ping测试,主机使用流量监控软件,比如Netpersec,以不丢包为极限,检测设备所能处理的带宽 2.若存在两个网口,比如低端的嵌入式加密网关,则可在驱动级进行包的透传,或者在协议上进行转发,测试TCP/UDP带宽性能 3.嵌入式linux上,由于具备完整的网络协议,且环境比较完善,可使用成熟准确的工具进行测试,即所要介绍的iperf
   iperf 是一个网络性能测试工具。Iperf可以测试最大TCP和UDP带宽性能。Iperf具有多种参数和UDP特性,可以根据需要调整。Iperf可以报告带宽,延迟抖动和数据包丢失。
主机环境:ubuntu 12.04 LTS 终端设备:  TI cortex-A8 720M 主机端安装比较简单: root@QJ:~# sudo apt-get install iperf 终端设备需要下载源码编译:http://iperf.fr/
iperf-2.0.2-source.tar.gz 解压以后生成Makefile并编译 root@QJ:/home/xzwang/Downloads/iperf-2.0.2# echo "ac_cv_func_malloc_0_nonnull=yes" >arm-linux.cache
root@QJ:/home/xzwang/Downloads/iperf-2.0.2# ./configure  --host=arm-linux  CC=arm-arago-linux-gnueabi-gcc CXX=arm-arago-linux-gnueabi-g++ --cache-file=arm-linux.cache; make
将生成的src/iperf 拷贝至终端linux文件系统/usr/sbin/下 1)TCP测试 服务器执行:./iperf -s -i 1 -w 1M  #-w是指定串口,窗口默认大小为8kbyte/s 客户端执行:./iperf -c 192.168.97.7 -i 1 -w 1M 其中-w表示TCP 窗口大小size 2)UDP测试 服务器执行:./iperf -u -s 客户端执行:./iperf -u -c 192.168.97.7  -i 1 -w 1M -t 60
可用-b指定带宽 -b 500M