网络性能测试
计算学徒
2025年06月10日 19:55
收录于文集
共89篇

网络性能的常用指标包括:延时、带宽、抖动、丢包率,下面分别来说明一下。

延时(Latency)

延时是指数据包在网络中从一端传输到另一端所需的时间。延时越小说明网络质量高。

通常可以使用 ping 命令测试网络延时,例如:

代码块
JavaScript
自动换行
复制代码
C:\> ping 12.34.56.4

Pinging 12.34.56.4 with 32 bytes of data:
Reply from 12.34.56.4: bytes=32 time=52ms TTL=63
Reply from 12.34.56.4: bytes=32 time=51ms TTL=63
Reply from 12.34.56.4: bytes=32 time=51ms TTL=63
Reply from 12.34.56.4: bytes=32 time=51ms TTL=63

Ping statistics for 12.34.56.4:
    Packets: Sent = 4, Received = 4, Lost = 0 (0% loss),
Approximate round trip times in milli-seconds:
    Minimum = 51ms, Maximum = 52ms, Average = 51ms
复制成功

最后一行显示当前主机到达服务器的网络最小延时为 51ms,最大延时为 52ms,平均延时为 51ms。

如果主机和服务器都在同一个局域网,网络延时通常会小于 1ms。如果延时过高,则需要排查局域网内的网络设备(路由器、交换机、网卡、网线等)以及服务器的网络配置等。

带宽(Bandwidth)

带宽是特定时间内(通常为1秒)网络能够从一个节点传输到另一个节点的最大数据量。带宽越大说明网络承载能力越高。

通常可以使用 iperf3 工具测试网络带宽。在服务器上启动 iperf3 服务:

代码块
JavaScript
自动换行
复制代码
$ iperf3 -s
复制成功

-s 参数表示运行服务进程。

在当前主机上运行带宽测试:

代码块
JavaScript
自动换行
复制代码
C:\> iperf3 -c 12.34.56.4
Connecting to host 12.34.56.4, port 5201
[  5] local 12.34.56.2 port 51828 connected to 12.34.56.4 port 5201
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-1.01   sec  1.12 MBytes  9.37 Mbits/sec
[  5]   1.01-2.01   sec   384 KBytes  3.15 Mbits/sec
[  5]   2.01-3.01   sec   384 KBytes  3.14 Mbits/sec
[  5]   3.01-4.01   sec   384 KBytes  3.15 Mbits/sec
[  5]   4.01-5.02   sec   384 KBytes  3.13 Mbits/sec
[  5]   5.02-6.00   sec   384 KBytes  3.19 Mbits/sec
[  5]   6.00-7.01   sec   384 KBytes  3.12 Mbits/sec
[  5]   7.01-8.01   sec   384 KBytes  3.13 Mbits/sec
[  5]   8.01-9.01   sec   256 KBytes  2.10 Mbits/sec
[  5]   9.01-10.01  sec   512 KBytes  4.19 Mbits/sec
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate
[  5]   0.00-10.01  sec  4.50 MBytes  3.77 Mbits/sec                  sender
[  5]   0.00-10.06  sec  4.00 MBytes  3.33 Mbits/sec                  receiver
复制成功

-c 参数指定服务器端的 IP 地址。

最后两行的 Bitrate 列分别表示上传带宽和下载带宽,分别为 3.77MBits/sec 和 3.33 MBits/sec。

抖动(Jitter)和丢包率(Drop)

抖动是通过同一连接传输的不同数据分组的最小延时和最大延时之间的时间差。抖动越小说明网络越稳定。

丢包率是网络中未能成功传输到达目的地的数据包比例。丢包率越小说明网络质量越高。

使用 iperf3 可以同时测试网络的抖动和丢包率。服务器开启 iperf3 服务(参考上文),当前主机运行测试命令:

代码块
JavaScript
自动换行
复制代码
C:\> iperf3 -c 12.34.56.4 -u -R -b 3.77Mb
Connecting to host 12.34.56.4, port 5201
Reverse mode, remote host 12.34.56.4 is sending
[  5] local 12.34.56.2 port 52378 connected to 12.34.56.4 port 5201
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-1.00   sec   464 KBytes  3.79 Mbits/sec  0.381 ms  0/344 (0%)
[  5]   1.00-2.00   sec   461 KBytes  3.77 Mbits/sec  0.239 ms  0/342 (0%)
[  5]   2.00-3.01   sec   461 KBytes  3.76 Mbits/sec  0.785 ms  0/342 (0%)
[  5]   3.01-4.00   sec   460 KBytes  3.77 Mbits/sec  0.243 ms  0/341 (0%)
[  5]   4.00-5.01   sec   464 KBytes  3.78 Mbits/sec  0.189 ms  0/344 (0%)
[  5]   5.01-6.01   sec   451 KBytes  3.70 Mbits/sec  0.412 ms  5/340 (1.5%)
[  5]   6.01-7.01   sec   394 KBytes  3.22 Mbits/sec  0.364 ms  50/342 (15%)
[  5]   7.01-8.01   sec   395 KBytes  3.22 Mbits/sec  0.544 ms  51/344 (15%)
[  5]   8.01-9.01   sec   394 KBytes  3.22 Mbits/sec  0.347 ms  50/342 (15%)
[  5]   9.01-10.00  sec   388 KBytes  3.22 Mbits/sec  0.291 ms  49/337 (15%)
- - - - - - - - - - - - - - - - - - - - - - - - -
[ ID] Interval           Transfer     Bitrate         Jitter    Lost/Total Datagrams
[  5]   0.00-10.06  sec  4.52 MBytes  3.77 Mbits/sec  0.000 ms  0/3435 (0%)  sender
[  5]   0.00-10.00  sec  4.23 MBytes  3.55 Mbits/sec  0.291 ms  205/3418 (6%)  receiver
复制成功

测试命令中的 -u 参数表示使用 UDP 协议发送数据包,-R 表示从服务器端发送数据到当前主机(固定用法),-b 表示测试时发送数据包的带宽。也就是说,测试抖动和丢包率都是在给定带宽的前提下进行的,通常参考的带宽为100%带宽和70%带宽。

上面的测试结果表明,在测试带宽为 3.77Mbits/sec 的情况下,当前主机发送的抖动和丢包率分别为 0.000ms 和 0%,当前主机接收的抖动和丢包率分别为 0.291ms 和 6%。

(完)