高延迟,但ping显示低延迟


8

我们看到服务访问同一子网中的远程资源的延迟约为100-300ms,但是当我们使用ping(ping大小与正常发送的数据包大小相似)时,我们看到的响应时间为5ms或更短。还有什么我们应该检查的吗?

资源监控器摘录


12
顺便说一句,10.0.0.0/8网络是为专用网络保留的,不能在公共路由。因此,不需要遮盖IP地址的一部分。更多信息在这里-en.wikipedia.org/wiki/…
Buggabill

Answers:


21

“延迟”是什么意思?
您是否正在将ICMP回显响应时间与应用程序处理往返时间进行比较?

如果您是,那就可以解释了-并且还告诉您不要比较苹果和橙子:)


4
同意-在服务器上捕获数据包,并观察服务器发出对应用程序请求的回复所需的时间。
EEAA 2011年

3
…但是它们都是圆形的(并且适用于RTT和指定的水果!)
voretaq7 2011年

4
..和ICMP数据包为64字节。它们的整体和测量的延迟几乎可以保证比任何包含实际数据有效负载的延迟都要好。
适配器

2
最重要的是,在服务器上执行ping几乎不需要花费任何时间,并且您可能需要QOS对ping进行优先级排序(我在某些链接上有介绍)。
TomTom

1
我会说:检查网络,接口和东西。也许你的应用中展示,因为由于对接口问题复位消息的这种延迟
Alfabravo

8

例如,对于较大的数据包,您是否会丢失数据包(导致重新传输)?

也许尝试ping -s 1400 address在Linux或ping -l 1400 addressWindows下。

如果那不能帮助您尝试使用Wireshark查看流量-也许有一些奇怪的重传,损坏的数据包?


3

这样的差异通常表明应用程序/服务器中存在问题。尽管由于QoS /网络优先级的原因,您的ping可能会有所不同,但是如果您谈论的是同一本地网络上的系统,那么这并不是我要考虑的首要问题。

从提供服务的同一主机访问服务的延迟时间是多少?该主机可以更快地提供其他服务吗?是在很重的IO负载下吗?


1

您可能在这里怀疑ping延迟!= TCP往返时间,尤其是在有数据正在传输时。这可能是由于ACK延迟(可能会施加200ms,这是默认的默认设置),或者是Nagle /与DACK之间的不良互动将其推高至500ms。此处按顺序进行数据包捕获。

另请注意,延迟的ack计时器与TCP流无关,并且在系统启动时实例化。因此,它可以在流中1-200毫秒之间的任何时间触发,并且通常会引起您所描述的“范围”样式延迟。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.