Windows Server 2008 和 SQL - TIME_WAIT 中有许多连接

Windows Server 2008 和 SQL - TIME_WAIT 中有许多连接

当我运行 netstat 时,我得到以下信息:

TCP    xxxx:65524    65.55.11.162:80        TIME_WAIT       0

此时 netstat 中有 13941 行这样的信息。

服务器运行的是 Windows 2008 和 SQL Server 2008。

任务管理器和进程管理器没有显示任何异常。服务器正常运行时间大概是几个月。

您知道可能是什么原因造成的吗?

答案1

TIME_WAIT是用于确保连接完全关闭的 TCP 状态。由于最后一个表示“我已完成!”的数据包可能会被丢弃,因此 TCP 连接会等待一段时间,以防另一端在实际切换到该CLOSED状态之前尝试重新发送某些内容。

看起来您的服务器正在快速打开和关闭与65.55.11.162Web 服务器的连接,比TIME_WAIT允许服务器关闭连接和转储套接字的延迟更快。根据服务器可用的资源,这可能会耗尽可用的套接字或内存并导致性能问题。如果您没有看到任何性能问题,我只会留意它;连接应该在几分钟后过期。如果问题仍然存在,请考虑调查源应用程序的配置。您可以使用显示netstat哪个进程/PID 拥有套接字(netstat -p在我的 Linux 机器上,在 Windows2008 上可能不一样)。

编辑:进一步调查表明这与“Telligent Community”有关,这是您在系统上安装的应用程序吗?

答案2

您知道可能是什么原因造成的吗?

互联网服务器?想过互联网吗?IIS 基于 TCP。Darth Andoid 对此有技术解释。蜘蛛可能是原因。

SQL?大量打开/关闭的连接,没有连接池。

答案3

原来是 Amazon EC2 的问题 - 有时主机会报告未来几年的时间,导致套接字不会超时并被清理。这个问题已修复,不再是问题。

相关内容