分类: Android平台
2013-05-09 20:58:38
1. 下载iperf
地址:
2. 解压
#tar zxf iperf-2.0.5.tar.gz 解压到当前目录
3. 配置
#cd iperf-2.0.5
#./configure --host=arm-linux-gnueabihf CXX=arm-linux-gnueabihf-g++ CXXFLAGS=-static CC=arm-linux-gnueabihf-gcc CFLAGS=-static
修改iperf-2.0.5/config.h,注释掉行
#define malloc rpl_malloc -->//#define malloc rpl_malloc
4. 编译
命令行下 make
5. 使用
参数说明:
-s 以server模式启动,eg:iperf -s
-c host 以client模式启动,host是server端地址,eg:iperf -c 192.168.1.100
通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf -c 192.168.1.100 -f K
-i sec 以秒为单位显示报告间隔,eg:iperf -c 192.168.1.100 -i 2
-l 缓冲区大小,默认是8KB,eg:iperf -c 192.168.1.100 -l 16
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf -c 192.168.1.100 -o c:\iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf -s -p 9999;iperf -c 192.168.1.100 -p 9999
-u 使用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.1.100 -n 100000
-r 单独进行双向传输测试
-t 测试时间,默认10秒,eg:iperf -c192.168.1.100 -t 5
-F 指定需要传输的文件
-T 指定ttl值
操作举例:
1)TCP测试
服务器执行:#iperf -s -i 1 -w 1M
客户端执行:#iperf -c 192.168.1.100 -i 1 -w 1M
其中-w表示TCP window size,192.168.1.100是服务器IP地址。
2)UDP测试
服务器执行:#iperf -u -s
客户端执行:#iperf -u -c 192.168.1.100 -b 900M -i 1 -w 1M -t 60
其中-b表示 使用带宽数量,千兆链路使用90%容量进行测试就可以了。
注:以上方法经过实际验证为可行。编译过程必须静态编译,否则在android平台不能使用。错误提示为:sh: ./iperf: No such file or directory