TCP/IP 客户端首次连接或 3 分钟后重新连接时连接时间高

TCP/IP connection time high when clients connect for the first time or reconnect after 3 minutes

我在 Windows Server 2016、IIS 上有一个 .NET MVC Web 应用程序 运行。

当我连接到应用程序时,需要 20 多秒才能建立 TCP/IP 连接。所有后续请求都很快。如果我等待大约 3 分钟并重试,问题再次出现,如果我尝试使用新的匿名 window 或其他浏览器进行连接,情况也是如此。如果我使用服务器上的浏览器在本地连接到应用程序,它工作正常。根据 Windows 日志,应用程序池未被回收。我尝试暂时关闭 Windows 防火墙,但没有成功。

知道我应该尝试什么吗?

Fiddler 统计选项卡:

Request Count:   1
Bytes Sent:      227        (headers:227; body:0)
Bytes Received:  107        (headers:107; body:0)

ACTUAL PERFORMANCE
--------------
ClientConnected:    11:27:15.867
ClientBeginRequest: 11:27:15.868
GotRequestHeaders:  11:27:15.868
ClientDoneRequest:  11:27:15.868
Determine Gateway:  0ms
DNS Lookup:         0ms
TCP/IP Connect: 21013ms
HTTPS Handshake:    36ms
ServerConnected:    11:27:36.883
FiddlerBeginRequest:    11:27:36.883
ServerGotRequest:   11:27:36.883
ServerBeginResponse:    00:00:00.000
GotResponseHeaders: 00:00:00.000
ServerDoneResponse: 00:00:00.000
ClientBeginResponse:    11:27:36.883
ClientDoneResponse: 11:27:36.883

    Overall Elapsed:    0:00:21.014

Chrome 开发工具计时

在一些外部帮助下解决了。

这与服务器或应用程序无关。问题是指向不再运行的服务器的重复 DNS A 记录。

客户端尝试连接到那里,20 秒后超时,然后用第二个正确的记录重试。然后我假设只要有activity,连接就会保持打开几分钟,所以后续页面加载正常。