为什么Fiddler会为某些TCP连接增加1秒的延迟?

时间:2016-03-07 11:21:22

标签: fiddler

我使用Fiddler进行性能评估,并注意到一些HTTP调用始终需要大约1000毫秒。

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

我已经花了很多时间在我的代码中找到了罪魁祸首,但是在禁用Fiddler之后,问题立即消失了,然后请求需要80毫秒。

从截图中注意到第一次调用很慢,TCP连接到localhost需要1001ms,但我也在第二次调用而不是第一次调用时观察到此问题,在其他情况下也是如此。

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

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

我使用的是最新版本(版本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

1 个答案:

答案 0 :(得分:0)

在Eric Lawrence in his answer的帮助下,使用127.0.0.1而不是localhost解决了问题。

说实话,我不知道为什么这会解决问题,或者我可以通过某种方式改变我的配置来使localhost正常工作。如果我了解更多,我会发布更新。