All,
I'm using Tomcat 7.0.75.
I cannot get my connection or thread count over 100 no matter how much load I
throw at the server. Currently I just have a dummy app deployed that doesn't
do much except sleep for about 500ms and return a canned response. Initially I
had maxThreads=20 with no explicit maxConnections. I could get the "current
threads busy" metric to 20 easily. Then I raised it to 100 and was able to
reach that number easily. Additionally, netstat told me I had 100 incoming
connections to port 5114. However raising the maxThreads higher doesn't make
any difference, nor does explicitly specifying maxConnections=200. In either
case, I can only get 100 busy threads and 100 active connections. Once I reach
that limit, the response times on the client start going up. The Tomcat server
itself isn't stressed at all. CPU and GC are low. The client is on a
different server in the same data center.
I'm not going through a load balancer. I'm going directly to the connector
below:
<Connector port="5114"
protocol="HTTP/1.1"
SSLEnabled="true"
maxConnections="200"
maxThreads="200"
maxKeepAliveRequests="100"
keepAliveTimeout="10000"
scheme="https"
secure="true"
clientAuth="true"
sslProtocol="TLS"
keystoreFile="/app/comp/myapp/certs/appcerttestkeystore"
keystorePass="${keystore.password}"
keyAlias="test"
truststoreFile="/app/comp/myapp/certs/cacerts"
truststorePass="${truststore.password}"
allowUnsafeLegacyRenegotiation="false"
ciphers="blah blah blah"
/>
Thanks
John