简介
Iperf 是一个网络性能测试工具,可以测试最大TCP和UDP带宽性能,具有多种参数和UDP特性,可以根据需要调整,可以报告带宽、延迟抖动和数据包丢失。
官网地址:iPerf - Download iPerf3 and original iPerf pre-compiled binaries
服务端:192.168.26.200
客户端:192.168.26.201
一、服务端
1、安装
yum install iperf3
2、启动
iperf3 -s -D
二、客户端
1、安装
yum install iperf3
2、测试
iperf3 -c 192.168.26.200
三、参数
1、服务端参数:
命令行参数 | 含义描述 |
-s | 将iperf以server模式启动,例如:iperf3 –s,iperf3默认启动的监听端口为5201,可以通过“-p”选项修改默认监听端口 |
-D | 将iperf作为后台守护进程运行,例如:iperf3 -s -D |
2、客户端参数
命令行参数 | 含义描述 |
-c | 将iperf以client模式启动 例如:iperf3 -c 192.168.26.20,其中192.168.26.200是server端的IP地址 |
-u | 指定使用UDP协议 |
-b [K|M|G] | 指定UDP模式使用的带宽,单位bits/sec。此选项与“-u”选项相关。默认值是1 Mbit/sec |
-t | 指定传输数据包的总时间。iperf将在指定的时间内,重复发送指定长度的数据包。默认是10秒钟 |
-n [K|M|G] | 指定传输数据包的字节数,例如:iperf3 -c 192.168.26.200 –n 100M |
-l | 指定读写缓冲区的长度。TCP方式默认大小为8KB,UDP方式默认大小为1470字节 |
-P | 指定客户端与服务端之间使用的线程数。默认是1个线程。需要客户端与服务器端同时使用此参数 |
-R | 切换数据发送接收模式,例如默认客户端发送,服务器端接收,设置此参数后,数据流向变为客户端接收,服务器端发送 |
-w | 指定套接字缓冲区大小,在TCP方式下,此设置为TCP窗口的大小。在UDP方式下,此设置为接受UDP数据包的缓冲区大小,用来限制可以接收数据包的最大值 |
-B | 用来绑定一个主机地址或接口,这个参数仅用于具有多个网络接口的主机。在UDP模式下,此参数用于绑定和加入一个多播组 |
-M | 设置TCP最大信息段的值 |
-N | 设置TCP无延时 |
3、服务端与客户端共用参数
命令行参数 | 含义描述 |
-f [k|m|g|K|M|G] | 指定带宽输出单位,“[k|m|g|K|M|G]”分别表示以Kbits, Mbits, Gbits, KBytes, MBytes,GBytes显示输出结果,默认以Mbits为单位,例如:iperf3 -c 192.168.26.200 -f M |
-p | 指定服务器端使用的端口或客户端所连接的端口,例如: iperf3 -s -p 9527; iperf3 -c 192.168.26.200 -p 9527 |
-i | 指定每次报告之间的时间间隔,单位为秒。如果设置为非零值,就会按照此时间间隔输出测试报告。默认值为1。 例如:iperf3 -c 192.168.26.200 -i 2 |
-F | 指定文件作为数据流进行带宽测试。 例如:iperf3 -c 192.168.26.200 -F web-ixdba.tar.gz |
4、测试TCP
[root@kvm201 ~]# iperf3 -c 192.168.26.200 -n 1000M
# 输出
Connecting to host 192.168.26.200, port 5201
[ 4] local 192.168.26.201 port 47668 connected to 192.168.26.200 port 5201
[ ID] Interval Transfer Bandwidth Retr Cwnd
[ 4] 0.00-1.00 sec 217 MBytes 1.82 Gbits/sec 0 810 KBytes
[ 4] 1.00-2.00 sec 281 MBytes 2.36 Gbits/sec 0 1.69 MBytes
[ 4] 2.00-3.00 sec 325 MBytes 2.73 Gbits/sec 7 1.41 MBytes
[ 4] 3.00-3.45 sec 178 MBytes 3.29 Gbits/sec 0 1.47 MBytes
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Retr
[ 4] 0.00-3.45 sec 1001 MBytes 2.43 Gbits/sec 7 sender
[ 4] 0.00-3.45 sec 1000 MBytes 2.43 Gbits/sec receiver
Interval:花费的时间
Transfer:传输的大小
Bandwidth:网卡的传输速率
上述测试发送1000M数据时相关信息
5、测试UDP
[root@kvm201 ~]# iperf3 -c 192.168.26.200 -u -b 200M -t 5
Connecting to host 192.168.26.200, port 5201
[ 4] local 192.168.26.201 port 55288 connected to 192.168.26.200 port 5201
[ ID] Interval Transfer Bandwidth Total Datagrams
[ 4] 0.00-1.01 sec 22.5 MBytes 187 Mbits/sec 16312
[ 4] 1.01-2.00 sec 23.5 MBytes 200 Mbits/sec 17022
[ 4] 2.00-3.00 sec 23.7 MBytes 199 Mbits/sec 17185
[ 4] 3.00-4.00 sec 24.5 MBytes 205 Mbits/sec 17739
[ 4] 4.00-5.00 sec 23.3 MBytes 196 Mbits/sec 16879
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval Transfer Bandwidth Jitter Lost/Total Datagrams
[ 4] 0.00-5.00 sec 118 MBytes 197 Mbits/sec 0.023 ms 683/85137 (0.8%)
[ 4] Sent 85137 datagrams
Interval表示时间间隔。Transfer表示时间间隔里面转输的数据量。Bandwidth是时间间隔里的传输速率。
jitter :抖动,网络中的延迟是指信息从发送到接收经过的延迟时间,一般由传输延迟及处理延迟组成。而抖动是指最大延迟与最小延迟的时间差,如最大延迟是20毫秒,最小延迟为5毫秒,那么网络抖动就是15毫秒,它主要标识一个网络的稳定性。
packet loss:丢包率,封包在传送过程中因不明原因无法让接收者收到,丢失的封包就是 packet loss。
最后一行是本次测试的统计。测试可知带宽平均为197Mbit/s。