为什么 Fiddler 向某些 TCP 连接添加 1 秒延迟?

Why is Fiddler adding 1 second latency to some TCP connections?

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

这不是随机的;在一个场景中的 3 个调用中,始终是同一个调用很慢,但这在重启后可能会改变。

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

从屏幕截图中可以看出,第一次调用很慢,TCP 连接到本地主机需要 1001 毫秒,但我在第二次调用而不是第一次调用以及其他情况下也观察到了这个问题。

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

我已禁用任何 "modem simulations"。目标服务器和 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

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

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