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

时间:2023-01-23 18:44:04

       通常在某些应用中我们会以太网作为高速传输媒介接口,在前期的验证以及硬件完成以后都需要进行必要的性能测试。单片机中由于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