下面关于Google的文章描述了测量延迟,并使用了ping
和netperf
。
https://cloud.google.com/blog/products/networking/using-netperf-and-ping-to-measure-network-latency
它通过显示请求之间间隔的差异来解释通过ping
和netperf
测量的延迟之间的差异。
下图显示了所测量的延迟与请求间隔的关系:
假设在本例中负载会影响延迟,我就会期望延迟保持稳定或减少。
澄清本文解释了工具之间的差异,并在配置为使用相同的间隔时,生成了图形。据我所知,任何剩余的差异都是由于TCP与ICMP之间的差异。问题是在更高的时间间隔内延迟的增加--不管使用什么工具。
发布于 2020-11-12 15:32:47
“真正的”延迟不会改变。正如这篇文章(拙劣)所解释的,
为了解释,这在很大程度上是两个工具默认使用的不同间隔的工件。
换句话说,延迟的明显增加是由程序根据所使用的间隔计算往返延迟的方式造成的。
关于为什么会这样的细节会深入到操作系统和Ping程序本身的细节中,这两个问题都不在这里讨论。您可以询问关于Unix堆栈交换的更多细节
发布于 2020-11-12 15:09:06
ping
-或者更确切地说,ICMP回送请求/应答是一种精确度量节点应答所需时间的方法。由于ICMP消息的优先级很低,ping回复需要网络往返时间加上主机或任何中间节点处理/转发ICMP消息的任何时间。
因此,ping
提供了实际往返时间的上限。实际RTT可能较小。
通过网络发送的任何其他请求都需要往返时间(网络延迟)加上处理请求所需的时间(处理延迟)加上接收和发送任何数据所需的时间(序列化延迟)。(您可以忽略ping
的序列化延迟,因为它通常发送非常小的数据包。)
如果您想单独测量处理延迟,则需要忽略网络。
https://networkengineering.stackexchange.com/questions/70949
复制相似问题