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