hi, i'm using tomcat 7.0.16. i'm trying to define a thread pool using an Executor/Connector elements as follows:
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-" maxThreads="6500" minSpareThreads="4"/> <Connector port="8080" protocol="HTTP/1.1" connectionTimeout="20000" redirectPort="8443" executor="tomcatThreadPool" /> I have also disabled the access log Valve. Other than these configuration changes, my server.xml file is identical to the default one bundled in the official release of tomcat. I'm creating load on the server using 750 threads (on the client side), but it seems that only 200 threads are handling requests in tomcat, judging by the performance I get on the client side. Also, using jmx, i see that Cataline.Executor.tomcatThreadPool.attributes.activeCount=200. However, If I add maxThreads=6500 to the Connector element as well, I get the expected performance, and using jmx I can see that the activeCount is indeed 750 (as expected). I have expected that specifying an executor in the Connector element should suffice and that I shouldn't specify a maxThread value as well. I replicated this behavior in tomcat 7.0.14 as well. In tomcat 7.0.6, referencing the executor from the connector works as expected (i.e. no need to re-specify maxThreads). Is there any rational behind these or is it simply a bug? uri