Java Tomcat不支持catalina.properties中的maxThreads配置,activeCount不超过200

Java Tomcat不支持catalina.properties中的maxThreads配置,activeCount不超过200,java,multithreading,tomcat,threadpool,threadpoolexecutor,Java,Multithreading,Tomcat,Threadpool,Threadpoolexecutor,我在中有一个tomcat实例,其配置如下 catalina.0线程的属性 server.service Catalina.executor tomcatThreadPool.maxThreads=300 server.service Catalina.executor tomcatThreadPool.minSpareThreads=300 server.service Catalina.connector.http1.1.executor=tomcathreadpool server.serv

我在中有一个tomcat实例,其配置如下

catalina.0线程的属性

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

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

我想要300个线程来满足这些请求

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

通过一些试验发现,增加执行器线程数(对于执行器元素为maxThreads)是不够的,但还需要增加连接器线程数(对于连接器元素为maxThreads)。这种行为实际上与tomcat所说的相矛盾


对Executor元素中名称的引用。如果设置了此属性,且命名的执行器存在,则连接器将使用该执行器,而所有其他线程属性将被忽略。请注意,如果未为连接器指定共享执行器,则连接器将使用专用内部执行器来提供线程池

您的java应用程序前面是否有任何Web服务器,如Apache或Ngix?您不知道这个答案有多大帮助!!