Iperf是一个TCP/IP和UDP/IP的性能测量工具,能够提供网络吞吐率信息,以及震动、丢包率、最大段和最大传输单元大小等统计信息;从而能够帮助我们测试网络性能,定位网络瓶颈。现在以windows xp和ubuntu为例说明如何安装以及使用,然后提供arm9平台交叉编译的方法。
1.ubuntu下iperf的安装:这个很简单,直接sudo apt-get install iperf就可以了。
2.xp下的安装:先下载程序包http://download.csdn.net/detail/xautfengzi/4479323,然后解压。这个包无需安装,直接通过命令提示符界面进入程序包所在路径即可。
3.在ubuntu下输入iperf -s命令,这样就把ubuntu当作测试服务器。
4.在xp命令提示符下输入iperf -c $ubuntuIP -t 60 -i 2,这个命令的大概意思是说连接ubuntu的服务端测试网络性能,总共统计60s,每2s显示一次统计数据。
当然,这个工具的功能还有很多,在安装包里面有简单的帮助,可以查看到它所支持的其他选项。
我使用这个工具的目的是为了测试我的开发板上面的wifi性能,所以还需要对其进行交叉编译。我使用的交叉编译工具是arm-linux-gcc3.4.1,所使用的iperf源码是http://download.csdn.net/detail/xautfengzi/4479310。将源码包下载解压之后,按照下面的步骤来编译:
1.进入iperf的目录,输入echo "ac_cv_func_malloc_0_nonnull=yes" > arm-linux.cache
2../configure --host=arm-linux CC=arm-linux-gcc -cache-file=arm-linux.cache
3.修改Makefile,为CFLAG和CPPFLAG增加 -static 的选项
4.输入make
5.在iperf目录的src文件夹里面可以得到iperf的二进制文件,将起拷贝到开发板上即可使用。
遇到的问题:最开始用的时候会提示找不到libstdc++.so.6这个库,后来去交叉编译工具的目录下将这个文件拷贝到开发板的/usr/lib下并在makefile中的CFLAG和CPPFLAG增加-static选项才解决。