iperf

TCP测试更适合评估网络的可靠性和吞吐量,而UDP测试则可以更全面地评估网络的性能,包括带宽、延迟和丢包情况。

参数

参数描述示例
-s服务器模式iperf3 -s
-c客户端模式,并指定目标ipiperf3 -c 127.0.0.1
-u指定udp模式(默认是tcp模式)iperf3 -u -c 127.0.0.1
-b指定目标带宽,单位Mbpsiperf3 -c 127.0.0.1 -b 28M
-t持续时间,单位秒iperf3 -c 127.0.0.1 -t 5
-i间隔时间,单位秒iperf3 -c 127.0.0.1 -t 5 -i 1
-p端口号,默认5201iperf3 -c 127.0.0.1 -p 8080
-l指定缓冲区大小,单位字节iperf3 -c 127.0.0.1 -l 8

日志分析

udp未丢包

# ------------------------------
# client cmd
iperf3 -c 47.92.100.29 -u -b 28M

# client
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec  3.34 MBytes  28.0 Mbits/sec  2397
...
[  5]   9.00-10.00  sec  3.34 MBytes  28.0 Mbits/sec  2398
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  33.4 MBytes  28.0 Mbits/sec  0.000 ms  0/23972 (0%)  sender
[  5]   0.00-10.05  sec  33.4 MBytes  27.8 Mbits/sec  0.453 ms  0/23972 (0%)  receiver

# ------------------------------
# server
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec  3.16 MBytes  26.5 Mbits/sec  0.199 ms  0/2271 (0%)
...
[  5]   9.00-10.00  sec  3.33 MBytes  28.0 Mbits/sec  0.459 ms  0/2395 (0%)
[  5]  10.00-10.05  sec   181 KBytes  27.7 Mbits/sec  0.453 ms  0/127 (0%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.05  sec  33.4 MBytes  27.8 Mbits/sec  0.453 ms  0/23972 (0%)  receiver

udp丢包

# ------------------------------
# client cmd
iperf3 -c 47.92.100.29 -u -b 30M

# client
[ ID] Interval           Transfer     Bitrate         Total Datagrams
[  5]   0.00-1.00   sec  3.58 MBytes  30.0 Mbits/sec  2568
...
[  5]   9.00-10.00  sec  3.58 MBytes  30.0 Mbits/sec  2570
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.00  sec  35.8 MBytes  30.0 Mbits/sec  0.000 ms  0/25685 (0%)  sender
[  5]   0.00-10.09  sec  35.4 MBytes  29.4 Mbits/sec  0.398 ms  0/25679 (0%)  receiver

# ------------------------------
# server
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec  3.25 MBytes  27.3 Mbits/sec  0.442 ms  0/2337 (0%)
[  5]   1.00-2.00   sec  3.58 MBytes  30.1 Mbits/sec  0.353 ms  0/2573 (0%)
[  5]   2.00-3.00   sec  3.57 MBytes  30.0 Mbits/sec  0.324 ms  0/2566 (0%)
[  5]   3.00-4.00   sec  3.58 MBytes  30.0 Mbits/sec  0.311 ms  0/2570 (0%)
[  5]   4.00-5.00   sec  3.58 MBytes  30.0 Mbits/sec  0.379 ms  0/2569 (0%)
[  5]   5.00-6.00   sec  3.58 MBytes  30.0 Mbits/sec  0.385 ms  0/2571 (0%)
[  5]   6.00-7.00   sec  3.57 MBytes  30.0 Mbits/sec  0.425 ms  0/2567 (0%)
[  5]   7.00-8.00   sec  3.57 MBytes  30.0 Mbits/sec  0.351 ms  0/2565 (0%)
[  5]   8.00-9.00   sec  3.46 MBytes  29.0 Mbits/sec  0.431 ms  87/2571 (3.4%)
[  5]   9.00-10.00  sec  3.33 MBytes  27.9 Mbits/sec  0.409 ms  177/2569 (6.9%)
[  5]  10.00-10.09  sec   295 KBytes  27.5 Mbits/sec  0.398 ms  14/221 (6.3%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[SUM]  0.0-10.1 sec  23 datagrams received out-of-order
[  5]   0.00-10.09  sec  35.4 MBytes  29.4 Mbits/sec  0.398 ms  278/25679 (1.1%)  receiver

tcp

# ------------------------------
# client cmd
iperf3 -c 47.92.100.29

# client
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  35.4 MBytes  29.7 Mbits/sec                  sender
[  5]   0.00-10.04  sec  35.2 MBytes  29.4 Mbits/sec                  receiver

# ------------------------------
# server
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec  35.2 MBytes  29.4 Mbits/sec                  receiver

指定客户端尝试以100Mbps的速度发送数据,但实际能达到的带宽还取决于网络条件和服务器的性能。

# ------------------------------
# client cmd
iperf3 -c 47.92.100.29 -b 100M

# client
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  36.0 MBytes  30.2 Mbits/sec                  sender
[  5]   0.00-10.04  sec  35.1 MBytes  29.3 Mbits/sec                  receiver

# ------------------------------
# server
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec  35.1 MBytes  29.3 Mbits/sec                  receiver

指定1M带宽测试

iperf3 -c 47.92.100.29 -b 1M

# client
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   128 KBytes  1.05 Mbits/sec
...
[  5]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.00  sec  1.25 MBytes  1.05 Mbits/sec                  sender
[  5]   0.00-10.04  sec  1.25 MBytes  1.04 Mbits/sec                  receiver

# server
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.00   sec   128 KBytes  1.05 Mbits/sec
...
[  5]   9.00-10.00  sec   128 KBytes  1.05 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.04  sec  1.25 MBytes  1.04 Mbits/sec                  receiver