我已经将Apache设置作为(GlassFish)的反向代理,并且我注意到状态CLOSE_WAIT中甚至在空闲的开发系统上也有大约100个连接:
sudo netstat -n -e -p -a -t | grep httpd | grep CLOSE_WAIT | wc -l我使用以下HTTP代理设置:
ProxyPass /myapp http://localhost:8080/myapp ttl=20 max=1 smax=0
ProxyPassReverse /myapp http://localhost:8080/myapp为什么所有这些联系都在周围徘徊?我已经设置了"ttl=20 max=1 smax=0“,因此我认为所有连接都将在空闲系统上清理。应用服务器是否没有尽其职责来清理连接?
发布于 2018-03-28 11:35:51
这是一个关于国防部的已知问题_代理,从2011年开始。
ttl需要比应用程序保持活动的时间短,所以apache总是第一个发送FIN的。
另一个困难是,它没有定义在什么时候连接将实际关闭。
ttl -非活动连接和相关连接池条目的存活时间,以秒为单位。一旦达到这个限制,连接将不再被使用;它将在以后的某个时候关闭。
发布于 2016-01-20 05:55:18
我遇到了类似的问题,我正在寻找有关Apache的推理。我怀疑阿帕奇的前奏。
至于解决方案,我使用了解决CLOSE_WAIT问题的Nginx。然而,TIME_WAIT的数量(约20,000)说明Java应用程序(S)处理连接的方式有些不正确。使用Nginx服务器和应用程序的性能要好得多。
我希望有人能用技术深度来改进这个答案。
发布于 2017-09-29 18:56:28
这些CLOSE_WAIT连接已经失效,只是服务器将它们保存在tcp堆栈中,以防进一步的数据包到达它们。在“美好的过去”中,如果文件描述符太大,Solaris服务器就会耗尽,系统就会崩溃。我们必须增加内核中允许的文件描述符总数,并减少CLOSE_WAIT连接的清理间隔。
现在,默认的文件描述符数量通常大到足以忽略这一点。但是清理配置可以减少,因此CLOSE_WAIT连接的数量将减少。
它的本质(玻璃鱼,Tomcat,JBoss,.)使用“大量”连接而不重用它们。在大多数情况下,你可以安全地忽略。
https://serverfault.com/questions/594609
复制相似问题