Hi,
I'm having some issues with my
Tomcat setup. Quite erraticly, and I think when traffic is pretty high, Tomcat refuses to accept connections from mod_jk on port 8009. The setup is:
Tomcat 4.1
Apache 2.2
Mod_JK 1.2.27
I know that my application running on Tomcat 4.1 is quite slow, and so it is possible that connections are piling up too quickly for Tomcat to handle. I've had an experiment with setting timeout values at both ends but this is having little effect.
From the JKStatus monitor, as soon as we start Apache 2.2 we see the number of Busy connections going up rapidly. When it reaches 64, it is game over. At this point, we get many items in the mod_jk log file like the following:
[Tue Jul 14 13:12:14.953 2009] [4224:4244] [error] jk_ajp_common.c (2426): (worker1) connecting to tomcat failed.
[Tue Jul 14 13:12:14.953 2009] [4224:1164] [error] jk_lb_worker.c (1432): All tomcat instances failed, no more workers left
[Tue Jul 14 13:12:15.062 2009] [4224:4100] [error] jk_ajp_common.c (1467): (worker1) connecting to backend failed. Tomcat is probably not started or is listening on the wrong port (errno=61)
Tomcat will still respond to requests directly through port 8080 at this time. Our mod_jk configuration includes such directives as...
worker.worker1.connection_pool_size=300
worker.worker1.connection_pool_timeout=200
... whilst our Tomcat server.xml looks like this (the listener):
<Connector className="org.apache.coyote.tomcat4.CoyoteConnector" redirectPort="8443" bufferSize="2048" port="8009" connectionTimeout="200000" scheme="http" enableLookups="false" secure="false" protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" debug="0" disableUploadTimeout="false" proxyPort="0" maxProcessors="300" minProcessors="100" tcpNoDelay="true" acceptCount="20" useURIValidationHack="false">
<Factory className="org.apache.catalina.net.DefaultServerSocketFactory"/>
</Connector>
Is there any help someone can give me?
Thanks!