gpt4 book ai didi

java - Tomcat 不遵守 catalina.properties 中的 maxThreads 配置,activeCount 不超过 200

转载 作者:行者123 更新时间:2023-11-28 23:39:35 25 4
gpt4 key购买 nike

我在

中有一个具有以下配置的 tomcat 实例

线程的catalina.properties

server.service-Catalina.executor-tomcatThreadPool.maxThreads=300server.service-Catalina.executor-tomcatThreadPool.minSpareThreads=300

server.service-Catalina.connector.http1.1.executor=tomcatThreadPoolserver.service-Catalina.connector.http1.1.protocol=HTTP/1.1server.service-Catalina.connector.http1.1.connectionTimeout=20000server.service-Catalina.connector.http1.1.acceptCount=300server.service-Catalina.connector.http1.1.maxKeepAliveRequests=15

我需要 300 个线程来处理请求。

通过上述配置,tomcat 启动了 300 个线程,我可以通过 JConsole 看到 300 个工作线程正在运行。但是当我遇到 300 个并发请求负载时,activeCount 会一直持续到 200。为什么 tomcat 不能有超过 200 个 Activity 线程(并行线程)处理我的请求?

最佳答案

通过一些试验发现,增加Executors的线程数(Executor元素的maxThreads)是不够的,还需要增加Connectors的线程数(Connector元素的maxThreads)。这种行为实际上与tomcat的行为是矛盾的documentation

“对 Executor 元素中名称的引用。如果设置了此属性,并且命名的执行程序存在,则连接器将使用该执行程序,所有其他线程属性将被忽略。请注意,如果一个没有为连接器指定共享执行器,那么连接器将使用私有(private)的内部执行器来提供线程池。”

关于java - Tomcat 不遵守 catalina.properties 中的 maxThreads 配置,activeCount 不超过 200,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21308352/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com