使用的内核:2.6.28
使用的交叉编译器:arm-linux-gcc-4.3.2
使用的iperf的源码:Iperf2.0.2
使用的主机:Ubuntu10.04
首先介绍一下什么是Iperf?(借用网上的解释)
Iperf 是一个网络性能测试工具。Iperf可以测试TCP和UDP带宽质量。Iperf可以测量最大TCP带宽,具有多种参数和UDP特性。Iperf可以报告带宽,延迟抖动和数据包丢失。
我们做这个测试用的是在挂载根文件系统的前提下,如果使用板子上自己跑的系统我觉得效果可能会更好,下面首先要介绍的是如何在PC上安装iperf
Ubuntu10.04非常的智能,能够上网的用户你只要直接的使用
sudo apt-get install iperf
这个命令就可以成功的安装好iperf
如果你想通过下载源码来安装也可以,就是通过最常用的办法
tar xvf iperf-2.0.2.tar.gz
cd iperf-2.0.2
./configure
make
编译成功后,使用以下命令安装Iperf:
make install
这样也可以安装成功
接下来要介绍我们的重点就是如何交叉编译我们的iperf源码:
为了方便起见我们写了一个.sh的配置文件
具体的内容如下:
vim buildarm.sh
#!/bin/sh
echo “ac_cv_func_malloc_0_nonnull=yes”>arm-linux.cache
./configure --host=arm-linux CC=arm-none-linux-gnueabi-gcc-4.3.2 –cache-file=arm-linux.cache
make
(要把交叉编译器的环境变量进行配置哦)
配置文件写完以后还要改变其权限,让其能够执行
chmod +x buildarm.sh
然后就可以执行命令:
./buildarm.sh
成功后在你的iperf目录的src文件夹下会产生一个iperf文件,把这个二进制可执行文件放置到你的板子的文件系统上就可以使用了,现在马上来测试一下吧:
首先打开文件系统,但是要保证一件事,就是板子在系统启动以后可以ping通主机,这样就可以证明两者之间的网络是通的:
然后就可以启动主机的服务了:
我们现在就来测试一下两者的状态:
首先进行的是TCP测试:
运行主机的iperf程序
运行命令
iperf -s
然后在客户端运行
现在我们来测试一下UDP的传输速度:
主机端运行命令:iperf –s –u
现在看客户端:
测试成功
通过看网上其他的帖子和man手册可以查看iperf的更多的用法,希望对大家的学习有所帮助。