1. 概述

在网络性能分析中,我们常使用几个关键指标来衡量网络的表现,包括:带宽(Bandwidth)、吞吐量(Throughput)、延迟(Latency)、抖动(Jitter)和丢包率(Packet Loss)。

本文将逐一介绍这些术语的含义、测量方法以及可能的影响因素,帮助你更全面地理解网络性能。

2. 带宽与吞吐量

  • 带宽:是指在单位时间内网络能传输的最大数据量,可以理解为网络的“理论容量”。
  • 吞吐量:是指在实际网络环境中真正传输的数据量。由于网络延迟、抖动、丢包等因素影响,吞吐量通常小于或等于带宽。

如下图所示,带宽是理论最大值,而吞吐量则是实际表现:

Bandwidth

建议:在评估网络性能时,优先关注吞吐量而非带宽,因为吞吐量更能反映真实情况。

3. 丢包率

  • 定义:在网络传输过程中,数据包未能成功到达目标节点的情况称为“丢包”。
  • 影响:丢包对实时性要求高的应用(如在线游戏、视频通话、语音通话)影响最大。

我们可以使用 ping 命令来检测是否存在丢包现象:

$ ping -c 4 google.com
PING google.com (172.217.17.110) 56(84) bytes of data.
64 bytes from sof02s47-in-f14.1e100.net (172.217.17.110): icmp_seq=1 ttl=111 time=31.7 ms
64 bytes from sof02s47-in-f14.1e100.net (172.217.17.110): icmp_seq=2 ttl=111 time=33.9 ms
64 bytes from sof02s47-in-f14.1e100.net (172.217.17.110): icmp_seq=3 ttl=111 time=32.1 ms
64 bytes from sof02s47-in-f14.1e100.net (172.217.17.110): icmp_seq=4 ttl=111 time=33.5 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 31.716/32.812/33.912/0.920 ms

结果分析:上面的结果显示无丢包(0% packet loss),说明当前网络状态良好。

  • 常见原因
    • 网络拥塞
    • 网络设备老化或故障
    • 软件 Bug

4. 延迟与往返时间(RTT)

  • 延迟(Latency):数据包从源端传送到目标端所需的时间。
  • 往返时间(RTT, Round-Trip Time):数据包从源端发送到目标端,再从目标端返回源端的总时间。

单位通常为毫秒(ms):

Latency and RTT

  • 数据在光纤中传输速度约为光速的 2/3(约 200,000 km/s)。
  • 每经过一个网络设备(如路由器、交换机),都会产生一次延迟,称为“跳(hop)”。
  • 距离越远、跳数越多,延迟越高。

使用 ping 命令可以测量 RTT:

$ ping -c 4 google.com
PING google.com (172.217.17.110) 56(84) bytes of data.
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=1 ttl=111 time=31.3 ms
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=2 ttl=111 time=34.4 ms
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=3 ttl=111 time=33.7 ms
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=4 ttl=111 time=33.7 ms

--- google.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3005ms
rtt min/avg/max/mdev = 31.349/33.295/34.366/1.153 ms
  • min:最小 RTT
  • avg:平均 RTT
  • max:最大 RTT
  • mdev:RTT 的标准差(衡量波动情况)

提示ping 命令通过发送 ICMP Echo 请求包并接收响应包来计算延迟。

5. 抖动(Jitter)

  • 定义:抖动是指多个数据包在网络中传输时,其延迟的差异值。
  • 影响:高抖动会导致数据包乱序、丢失,影响音视频质量。
$ ping -c 4 google.com
PING google.com (172.217.17.110) 56(84) bytes of data.
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=1 ttl=111 time=31.3 ms
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=2 ttl=111 time=33.0 ms
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=3 ttl=111 time=34.0 ms
64 bytes from ams15s29-in-f110.1e100.net (172.217.17.110): icmp_seq=4 ttl=111 time=34.0 ms
  • 包1与包2之间的抖动为 1.7 ms
  • 包1与包3之间的抖动为 2.7 ms

⚠️ 经验参考:抖动小于 30 ms 通常是可以接受的。

  • 常见原因
    • 网络拥塞
    • 硬件性能不足
    • 路由路径变化

6. 总结

本文介绍了衡量网络性能的几个核心指标:

指标 含义 单位 测量工具/方法
带宽 网络最大传输能力 Mbps 网络设备规格、测速工具
吞吐量 实际传输的数据量 Mbps 实时监控、测速工具
丢包率 数据包未能成功传输的比例 % ping
延迟/RTT 数据包传输所需时间(单程/往返) ms ping
抖动 数据包延迟的波动 ms ping + 手动计算

这些指标在排查网络问题、优化系统性能时非常关键。熟练掌握它们的含义和测量方法,有助于你更快定位问题并做出合理决策。


原始标题:How to Describe Network Performance?