我目前配置了apache2,以便将特定网址(例如/ myapp)上的请求定向到tomcathost:8080 / myapp上的内部tomcat服务器。
myapp到apache2的所有请求都按预期工作。
我面临的问题是每当通过apache2向myapp发送请求时,似乎apache2保持连接对tomcat开放,过了一段时间tomcat中的所有线程都被apache占用,显然不是释放。
有人能指出我正确的方向来解决这个问题吗?
ProxyPass /myapp balancer://apps/myapp
ProxyPassReverse /myapp balancer://apps/myapp
<Proxy balancer://apps>
BalancerMember http://appserver01:8080 route=Node01 loadfactor=1
BalancerMember http://appserver02:8080 route=Node02 loadfactor=1
ProxySet lbmethod=byrequests
ProxySet stickysession=JSESSIONID|jsessionid
ProxySet nofailover=On
</Proxy>
答案 0 :(得分:0)
您可以在server.xml中设置连接时间,因此如果有任何线程打开,它会获得超时时间。
connectionTimeout="120000"
此外,您可以使用JConsole作为JDK安装的一部分来监视线程,通过JMX为您的tomcat查看是否存在导致线程增加的任何线程循环。