tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Rainer Jung <rainer.j...@kippdata.de>
Subject Re: mod_jk - connectionTimeout en connection_pool_timeout
Date Thu, 06 Sep 2007 14:59:05 GMT
Hi Henk,

Henk Fictorie wrote:
> Hi,
> 
> We are using mod_jk 1.2.21 on Solaris 8. together Apache 2.0.59 with the
> worker MPM.
> We are moving our applicationserver to a new version which is also using a
> new Tomcat version. We now have a split application which is using both
> Tomcat 5.0 and the other part is using Tomcat 5.5. For tomcat 5.5 we set the
> connectionTimeout to 10 minutes, for 5.0 it is set to 0 (infinite)
> 
> For Tomcat 5.0 we see lots more ESTABLISHED connections than for Tomcat 5.5.
> While I expected it to be the same.

Hmmm. Maybe I'm missing the point, but I would not share your 
expectation: if you disable the idle connection timeout for TC 5.0, we 
will keep the idle connections around for a long time. OK, you've got an 
idle timeout on the JK side, but it will shrink the pool only until half 
of its maximum size. E.g. if you allow 25 threads per process with 
httpd, the pool will never shrink smaller than 13 connections (unless it 
didn't yet grow to this size) per process.

Of course, since you didn't give us numbers, I'm not sure if this 
suffices to explain your observation.

> For the Tomcat 5.0 connections we do not see any errors (except for client
> errors).
> For the Tomcat 5.5 connections we see errors occuring, claiming that it
> cannot connect to Tomcat:
> 
> [Thu Sep 06 09:17:15 2007] [2735:0061] [info] 
> ajp_send_request::jk_ajp_common.c (1215): dummy) error sending request. Will
> try another pooled connection
> [Thu Sep 06 09:17:15 2007] [2735:0061] [info] 
> ajp_send_request::jk_ajp_common.c (1241): (dummy) all endpoints are
> disconnected
> [Thu Sep 06 09:17:15 2007] [2735:0061] [info] 
> ajp_send_request::jk_ajp_common.c (1244): (dummy) increase the backend idle
> connection timeout or the connection_pool_minsize
> [Thu Sep 06 09:17:15 2007] [2735:0061] [info]  ajp_service::jk_ajp_common.c
> (1930): (dummy) sending request to tomcat failed,  recoverable operation
> attempt=1
> [Thu Sep 06 09:17:15 2007] [2735:0061] [error] ajp_service::jk_ajp_common.c
> (1942): (dummy) Connecting to tomcat failed. Tomcat is probably not started
> or is listening on the wrong port
> [Thu Sep 06 09:17:15 2007] [2735:0061] [info]  service::jk_lb_worker.c
> (1023): service failed, worker dummy is in error state

most of those are only info messages. They are telling us, that jk tried 
to use a connection, that has already been closed by Tomcat. Only the 
last line is an error. Usually a closed connection is not a problem, we 
simply search for another one in the connection cache. If we can't find 
an open connection, we use retry number 2 to open a new one. Since you 
set retries to 1, this will not happen.

> On the mod_jk side of things we use the same settings for both applications:
> 
> worker.maintain=60
> 
> # worker template
> worker.template.type=ajp13
> worker.template.port=xxxx
> worker.template.lbfactor=50
> worker.template.connection_pool_timeout=600
> worker.template.socket_timeout=62
> worker.template.connect_timeout=30000
> worker.template.prepost_timeout=30000
> worker.template.recovery_options=0
> worker.template.reply_timeout=600000
> worker.template.retries=1
> 
> 
> On the tomcat 5.0 side the connectionTimeout is set to 0 (infinite)
> 
>     <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
>                port="xxxx"  minProcessors="5" maxProcessors="500"
>                acceptCount="10" debug="0" enableLookups="true"
> redirectPort="8443"
>                 connectionTimeout="0" useURIValidationHack="false"
>                
> protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler" />
> 
> 
> On the tomcat 5.5 site the connectionTimeout is set to 10 minutes:
> 
>     <Connector port="xxxx" address="a.b.c.d" enableLookups="false"
> emptySessionPath="true"
>         minSpareThreads="20" maxThreads="750" acceptCount="10"
> connectionTimeout="600000"
>         redirectPort="8443" debug="0" protocol="AJP/1.3" />
> 
> So, on the timeout settings for Tomcat 5.5 I am using the recommended values
> described in the 'timeouts howto' section.
> The info messages suggest that I should increase the connectionTimeout on
> the Tomcat side. Probably to some value > (connection_pool_timeout +
> worker.maintain)??
> Or should I set the connection_pool_minsize to match the minSpareThreads??
> Or upgrade to mod_jk 1.2.25??
> 
> Advice is welcome.
> 
> regards Henk Fictorie

Regards,

Rainer

---------------------------------------------------------------------
To start a new topic, e-mail: users@tomcat.apache.org
To unsubscribe, e-mail: users-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org


Mime
View raw message