i.MX6UL--网络性能测试
一、测试平台
硬件平台:珠海鼎芯D518--基于i.MX6UL
软件平台:Linux4.1.15+busybox1.0.22
对接系统:Windows本或Ubuntu台
二、测试工具
iperf是一个TCP/IP和UDP的性能测试工具,能够提供网络吞吐量、抖动、丢包率、延迟等信息。从而帮助我们测试网络性能,定位网络瓶颈。对于时延,iperf通过计算抖动来判断,抖动值就是连续发送时延差值的平均值。如下图所示:
图中D1,D2分别表示包A和包B的时延。抖动=|D2-D1|
此网络测试使用的是iperf工具(win下是Jperf,基于iperf),通过服务端与客户端通过网线对接进行。下面是工具下载地址。
ARM版下载地址:
http://download.csdn.net/detail/u014486599/9659369
Ubuntu12.04版下载地址:
http://download.csdn.net/detail/u014486599/9659369
或$ sudo apt-get install iperf
Windows版下载地址:
http://download.csdn.net/detail/u014486599/9659653
三、工具移植安装
1、ARM:
ARM下需要移植,本次移植iperf版本与Ubuntu12.04上保持一致,也是iperf2.0.5,移植命令如下:
$tar –zxvf iperf-2.0.5.tar.gz
$cd iperf-2.0.5
$ ./configure --prefix=<YourPath>--host=arm-none-linux-gnueabiCC=<CompilerPath>/bin/arm-none-linux-gnueabi-gcc \
CXX=<CompilerPath>/bin/arm-none-linux-gnueabi-g++
$sudo make && make install
2、Ubuntu12.04下安装:$sudo apt-get install iperf
或
$cd iperf-2.0.5
$make distclean
$./configure
$sudo make && make install
3、Windows下安装
win7系统下可以使用带UI界面的jperf工具,jperf工具基于iperf添加UI界面而已。Win7下依然使用基于iperf2版本的Jperf2.0.2工具。
只需要将其解压后,双击jperf.bat即可打开工具界面。
注:此工具需要java环境支持,需要在系统中安装JDK。JDK的安装参考Android-studio环境搭建方法。链接如下:
http://download.csdn.net/detail/u014486599/9590455
http://wenku.baidu.com/view/695b20728762caaedc33d4cd
四、测试方法
iperf参数可查看下一节【五、工具参数】或其用户手册:http://webfolder.wirelessleiden.nl/iperf/
服务端:
iperf -s -u
-s 标记此端为服务端
-u标记自己为UDP监听
-p 指定自己监听端口
客户端:
iperf -c 192.168.10.10 -i 1 -u -P 5
-c标记自己为客户端
-i 设定输出值间隔
-u使用传输协议为UDP
-P 指定进程数,如果设置为5,那么也就相当与对端建立五个连接
i.MX6UL测试截图:(珠海鼎芯D518网络配置为100M带宽)
五、工具参数
-s以server模式启动,eg:iperf -s
-c 以client模式启动,host是server端地址,eg:iperf -c 192.168.10.10
通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 192.168.10.10 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 192.168.10.10 -i 2
iperf是client端向server端发送数据
server端显示的是接收速率,最好加i参数,进行速率跟踪
client 显示的是发送速率
server 显示接收速率
-l 缓冲区大小,默认是8KB,eg:iperf -c 192.168.10.10 -l 16
可以使用不同的包长,进行测试
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 192.168.10.10 -o c:iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 192.168.10.10 -p 9999
-u 使用udp协议
测试htb的时候最好用udp,udp通信开销小,测试的带宽更准确
-w 指定TCP窗口大小,默认是8KB
如果窗口太小,有可能丢包
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包
server专用参数
-D 以服务方式运行ipserf,eg:iperf -s -D
-R 停止iperf服务,针对-D,eg:iperf -s -R
client端专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf -c 192.168.10.10 -n 100000
-r 单独进行双向传输测试
-b 指定发送带宽,默认是1Mbit/s
在测试qos的时候,这是最有用的参数。
-t 测试时间,默认10秒,eg:iperf -c 192.168.10.10 -t 5
默认是10s
-F 指定需要传输的文件-T 指定ttl值
六、参考资料
1、http://blog.csdn.net/tigerjibo/article/details/12175193