为什么 ping 间隔会影响延迟?

网络工程 潜伏 网络测量
2022-02-27 01:36:49

以下关于 Google Cloud 的文章介绍了测量延迟以及使用pingnetperf.

https://cloud.google.com/blog/products/networking/using-netperf-and-ping-to-measure-network-latency

它通过显示请求之间的间隔差异来解释测量延迟之间ping的差异。netperf

下图显示了测量的延迟与请求间隔:

在此处输入图像描述

为什么延迟会以更高的间隔增加?

假设负载影响示例中的延迟,我预计延迟会保持稳定或减少。

澄清 文章解释了工具之间的差异,并在配置为使用相同的间隔时生成了图表。我知道任何剩余的差异都是由于 TCP 与 ICMP 造成的。问题是关于更高间隔的延迟增加 - 无论使用什么工具。

2个回答

“真正的”延迟不会改变。正如文章(差)解释的那样,

解释一下,这在很大程度上是两个工具默认使用的不同间隔的产物。

换句话说,延迟的明显增加是由程序根据使用的间隔计算往返延迟的方式引起的。

为什么会这样的细节涉及操作系统和 Ping 程序本身的细节,这两者都不是这里的主题。您可以在Unix Stack Exchange上询问更多详细信息。

ping- 或者更确切地说,ICMP 回显请求/回复是一种精确测量的方法:节点回复所需的时间。由于 ICMP 消息的优先级非常低,因此 ping 回复需要网络往返时间加上主机或任何中间节点处理/转发 ICMP 消息所需的任何时间。

因此,ping提供了实际往返时间的上限。实际的 RTT 可能更小。

通过网络发送的任何其他请求都需要往返时间(网络延迟)加上处理请求所需的时间(处理延迟)加上接收和发送任何数据所需的时间(序列化延迟)。(您通常可以忽略序列化延迟,ping因为它通常发送非常小的数据包。)

如果您想单独测量处理延迟,则需要忽略网络。