2016-03-07 76 views
0

我使用Fiddler进行性能评估,并注意到一些HTTP调用一直需要〜1000ms。为什么Fiddler为某些TCP连接添加1秒的延迟?

这不是随机的;在场景中的3个呼叫中,它始终是相同的呼叫,速度很慢,但重启后可能会改变。

我用了很多时间寻找在我的代码的元凶,但立即禁用提琴手问题消失后,请求然后采取80ms的,因为它应该。从第一次调用速度较慢的截图

注意,在TCP连接到本地主机需要1001ms,但我也观察到了第二个电话,而不是第一个这个问题,而在其他情况下。

我连接到一个Apache Tomcat服务器上的Windows 10

我已禁用任何“模拟调制解调器”。目标服务器和Fiddler本身位于本地主机上。

我使用的是最新版本(版本4.6.2.2)。

有什么办法避免这种延迟?

Request Count: 1 
Bytes Sent: 1 519 (headers:385; body:1 134) 
Bytes Received: 5 090 (headers:518; body:4 572) 
ACTUAL PERFORMANCE 
-------------- 
ClientConnected: 09:44:00.885 
ClientBeginRequest: 09:44:00.886 
GotRequestHeaders: 09:44:00.886 
ClientDoneRequest: 09:44:00.886 
Determine Gateway: 0ms 
DNS Lookup: 0ms 
TCP/IP Connect: 1001ms <============ 
HTTPS Handshake: 0ms 
ServerConnected: 09:44:01.888 
FiddlerBeginRequest: 09:44:01.888 
ServerGotRequest: 09:44:01.888 
ServerBeginResponse: 09:44:01.964 
GotResponseHeaders: 09:44:01.964 
ServerDoneResponse: 09:44:01.964 
ClientBeginResponse: 09:44:01.964 
ClientDoneResponse: 09:44:01.964 
Overall Elapsed: 0:00:01.078 
RESPONSE BYTES (by Content-Type) 
-------------- 
application/xml: 4 572 
~headers~: 518 

Timeline

回答

0

与埃里克·劳伦斯in his answer的帮助下,问题是由使用127.0.0.1而不是本地主机解决。

说实话,我不知道在这一点上,为什么这样可以解决问题,或者如果我可以让本地主机通过某种方式改变一下我的配置正常工作。如果我了解更多信息,我会发布更新。

+0

好吧,它可能与IPv6有关。有关相关讨论,请参阅http://stackoverflow.com/questions/11310564/php-to-easyphp-mysql-server-1-second-connection-delay。 –