http请求的延迟时间为500毫秒

时间:2014-06-10 22:51:58

标签: java http networking tcp jetty

我最近开始使用我的java webserver应用程序,我在客户端检测到一个非常奇怪的500ms网络延迟。

当我第一次请求我的网络服务器时,我得到以下时间:

$ curl --max-redir 0 -w "%{time_total}\n" http://ip_to_my_domain/abc
0.527

然后所有后续调用都将花费预期时间:

$ curl --max-redir 0 -w "%{time_total}\n" http://ip_to_my_domain/abc
0.067
$ curl --max-redir 0 -w "%{time_total}\n" http://ip_to_my_domain/abc
0.062
$ curl --max-redir 0 -w "%{time_total}\n" http://ip_to_my_domain/abc
0.063

在Google和SO上搜索后,我发现了post,其中提到了TCP延迟ACK。

这是我自己的wireshark分析:

不遵循重定向(第一次通话,500ms): not following the redirectLarger version

重定向后(第一次呼叫,500毫秒): Following redirect Larger version

重定向后(后续调用,无500ms): Following redirect Larger version

如果这确实是TCP延迟ACK的表现,并且因为我显然无法访问客户端操作系统/浏览器配置,我可以在服务器端代码或网络配置上做什么避免这种行为?

我可以访问webserver应用程序(运行jetty 8.1.1)代码和servers / lb /防火墙配置。

提前感谢您的帮助。

修改

Chrome上的相同行为: Chrome

和FF: Firefox

修改

有关302的更多数据(我选择了Wirehark转储,而不是重定向):

框: Frame details

的Eth: Eth details

IP: IP details

TCP: TCP details

HTTP: HTTP details

0 个答案:

没有答案