我们的应用程序有一组Apache流量服务器,它们将请求发送到负载均衡器,负载均衡器将请求发送给tomcat服务器版本7。
Tomcat服务器似乎正在响应,但过了一段时间后,从Tomcat到Apache Traffic server出现了许多CLOSE_WAIT套接字。
在重新启动Tomcat7时,这些套接字将关闭。
同时,Traffic Server上的CLOSE_WAIT中没有套接字。
请求您的输入
您需要了解:
CLOSE-WAIT:本地端点已接收到连接终止请求并确认,例如已执行被动关闭并且本地端点需要执行主动关闭才能离开状态
TIME-WAIT:本地端点等待的时间是最大段的两倍寿命(MSL),以确保远程端点接收到确认。
您的Tomcat已收到连接终止。。。并且您的tomcat需要执行主动关闭才能离开此状态。在Apache Traffic Server中,连接可能会在TIME_WAIT中短暂配置超时,直到它关闭。如果您有连接泄漏,您可以尝试将Tomcat更新到最新版本以避免错误,并对您的应用程序进行审查以确保释放您的资源。
如果这个州的连接数量不多,我不会给予太多重视。
了解一些TCP状态的链接:
http://benohead.com/tcp-about-fin_wait_2-time_wait-and-close_wait/
我在独立的Tomcat上遇到了同样的问题。以下是我解决问题的方法:
- 终止tomcat进程
- 重新启动tomcat
- 在Windows上:
netstat -ano | find "your_tomcat_port"
和taskkill /pid the_pid /F
- 在Linux上:
lsof -i:your_tomcat_port
和kill -9 the_pid
- 重新启动Tomcat
您可以创建.bat或.sh脚本。