tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From uri unger <>
Subject tomcat 7.0.16 - using a thread pool
Date Mon, 27 Jun 2011 10:23:53 GMT

i'm using tomcat 7.0.16.
i'm trying to define a thread pool using an Executor/Connector elements as

  <Executor name="tomcatThreadPool" namePrefix="catalina-exec-"
        maxThreads="6500" minSpareThreads="4"/>
   <Connector port="8080" protocol="HTTP/1.1"
               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?


  • Unnamed multipart/alternative (inline, None, 0 bytes)
View raw message