您的位置:首页 > 理论基础 > 计算机网络

用iperf在ambarella s2l上进行网络性能测试

2016-07-09 11:25 309 查看
iperf简介:
      iperf命令是一个网络性能测试工具。iperf可以测试TCP和UDP带宽质量。iperf可以测量最大TCP带宽,具有多种参数和UDP特性。iperf可以报告带宽,延迟抖动和数据包丢失。利用iperf这一特性,可以用来测试一些网络设备如路由器,防火墙,交换机等的性能。

交叉编译至s2l:
     由于项目中windows端使用的是iperf-3.1.2,而s2l的sdk2.5中自带的iperf版本是2.0.5,测试时出现连不上的问题:



后面发现是端口号不一致才导致此问题。2.0.5版本的时候端口号是5001,而3.1.x版本的时候端口号是5201

 下载了3.1.3版本交叉编译:
tar -xvf iperf-3.1.3.tar.gz
 ./configure --host=arm-linux-gnueabihf
make -j4

编译生成的可执行文件在iperf-3.1.3/src/.libs下,名为iperf3

测试:
s2l板端:iperf3 -s &
pc端:    iperf3 -c 192.168.20.141 -i 5 -t 60



命令参数简要说明:
-s 以server模式启动, e.g: iperf3 -s
-c host 以client模式启动 ,host是server端地址   e.g: iperf3 -c 192.168.20.141

通用参数
-f [k|m|K|M] 分别表示以Kbits, Mbits, KBytes, MBytes显示报告,默认以Mbits为单位,eg:iperf3 -c 192.168.20.141
-f K

-i sec 以秒为单位显示报告间隔,eg:iperf3 -c 192.168.20.141
-i 2

iperf是client端向server端发送数据

server端显示的是接收速率,最好加i参数,进行速率跟踪

client 显示的是发送速率

server 显示接收速率
-l 缓冲区大小,默认是8KB,eg:iperf3 -c 192.168.20.141
-l 16

可以使用不同的包长,进行测试
-m 显示tcp最大mtu值
-o 将报告和错误信息输出到文件eg:iperf3 -c 192.168.20.141
-o c:iperflog.txt
-p 指定服务器端使用的端口或客户端所连接的端口eg:iperf3 -s -p 9999;iperf3 -c 192.168.20.141
-p 9999

-u 使用udp协议

测试htb的时候最好用udp,udp通信开销小,测试的带宽更准确

-w 指定TCP窗口大小,默认是8KB

如果窗口太小,有可能丢包
-B 绑定一个主机地址或接口(当主机有多个地址或接口时使用该参数)
-C 兼容旧版本(当server端和client端版本不一样时使用)
-M 设定TCP数据包的最大mtu值
-N 设定TCP不延时
-V 传输ipv6数据包

server专用参数
-D 以服务方式运行ipserf3,eg:iperf3 -s -D
-R 停止iperf服务,针对-D,eg:iperf3 -s -R

client端专用参数
-d 同时进行双向传输测试
-n 指定传输的字节数,eg:iperf3 -c 192.168.20.141
-n 100000
-r 单独进行双向传输测试

-b 指定发送带宽,默认是1Mbit/s

在测试qos的时候,这是最有用的参数。
-t 测试时间,默认10秒,eg:iperf3 -c 192.168.20.141
-t 5

默认是10s

-F 指定需要传输的文件
-T 指定ttl值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息