Jslfl【软件开发技术笔记】

iperf网络带宽测试

一、准备:
1、iperf.exe、cygwin1.dll复制到C:\Windows\System32
2、运行服务端 iperf.exe -s
3、运行客户端 iperf3.exe -c 127.0.0.1

二、测试过程:
1、server端(指定TCP端口1314)
iperf3 -s [-i 1] [-p 1314]

测试一:测试TCP吞吐量
client端(连接服务器端1314端口),后续测试都是在客户端,”[]”表示可选参数.
iperf3 -c 127.0.0.1 [-i 1] [-t 60] [-p 1314]

返回数据说明:
① Interval表示时间间隔。
② Transfer表示时间间隔里面转输的数据量。
③ Bandwidth是时间间隔里的传输速率。

测试二:测试UDP吞吐量
iperf3 -u -c 127.0.0.1 -b 100m -t 60 -p 1314

测试三:上下行带宽测试(TCP双向传输)
iperf3 -c 127.0.0.1 -d -t 60

测试四:测试多线程TCP吞吐量.如果没有指定发送方式,iPerf客户端只会使用单线程。
iperf3 -c 127.0.0.1 -P 30 -t 60

测试五:测试多线程UDP吞吐量.如果没有指定发送方式,iPerf客户端只会使用单线程。
iperf3 -u -c 127.0.0.1 -b 5M -P 30 -t 60

测试六:测试上下行带宽(UDP双向传输)
iperf3 -u -c 127.0.0.1 -b 100M -d -t 60

三、iperf3常用参数
(1)-s,–server:iperf服务器模式,默认启动的监听端口为5201,eg:iperf -s
(2)-c,–client host:iperf客户端模式,host是server端地址,eg:iperf -c 222.35.11.23
(3)-i,–interval:指定每次报告之间的时间间隔,单位为秒,eg:iperf3 -c 192.168.12.168 -i 2
(4)-p,–port:指定服务器端监听的端口或客户端所连接的端口,默认是5001端口。
(5)-u,–udp:表示采用UDP协议发送报文,不带该参数表示采用TCP协议。
(6)-l,–len:设置读写缓冲区的长度,单位为 Byte。TCP方式默认为8KB,UDP方式默认为1470字节。通常测试 PPS 的时候该值为16,测试BPS时该值为1400。
(7)-b,–bandwidth [K|M|G]:指定UDP模式使用的带宽,单位bits/sec,默认值是1 Mbit/sec。
(8)-t,–time:指定数据传输的总时间,即在指定的时间内,重复发送指定长度的数据包。默认10秒。
(9)-A:CPU亲和性,可以将具体的iperf3进程绑定对应编号的逻辑CPU,避免iperf进程在不同的CPU间调度。

四、Mbits转换
如:946Mbits/sec
转换为946000Kb/s=946000/8 KB/s=118250KB/s=115M/s

详细参考:http://www.jslfl.cn/jslfl/?p=1097

Comments are currently closed.