【发布时间】:2018-01-25 07:52:05
【问题描述】:
在我的 tomcat 上,我在连接器上设置了 maxThreads=300。 在请求高峰期间,我可以看到分配了大约 180 个线程来处理请求,这很好。然而,2 小时后,即使请求被丢弃,这 180 个线程仍然在 VM 内。
有没有办法控制tomcat/JVM清理未使用线程的时间?
编辑 这是我的连接器配置(同时我将 maxThreads 更新为 300):
<Connector port="8080" protocol="HTTP/1.1" maxThreads="300"
connectionTimeout="20000"
redirectPort="8443" />
【问题讨论】:
-
请向我们展示您的完整连接器配置
-
搞定了,其实很基础
-
你试过设置
maxIdleTime看Kayaman的建议 -
@Phate,这个问题有点老了,但只是想知道你现在是否可以提供输入。即使我们面临同样的问题,负载减少后tomcat线程也没有下降。他们处于空闲状态并等待任务。您是否使用 Executor 或任何其他方式解决了此问题?虽然在我们较低的环境中,它工作正常,当我们在较低的环境中进行负载测试时,线程在 3-5 分钟内下降到初始数量。重现 scnerios 变得越来越困难。