connection pool issues with mod_proxy_ajp when tomcat is remote

2010-04-13 Thread Russell Uman


howdy!

we're trying to move from apache 2.0.52 with mod_jk 1.2.19 to apache 
2.2.3 with mod_proxy_ajp in front of tomcat 5.5.28


and we've run into a troubling bug/configuration/networking problem

with apache 2.0 and mod_proxy, things are very well behaved. apache has 
a connection pool of tomcat threads, and when apache kills a child 
process the corresponding tomcat thread is closed.


with apache 2.2 and mod_proxy_ajp, when apache kills a child process, 
the sometimes the tomcat thread is left hanging in the keep alive state. 
tomcat waits 120 seconds before terminating the hanging thread.


this seems to happen more often under higher traffic, and more often 
when tomcat is not running on the same server as apache.


under traffic, this results in a large number of tomcat threads that 
have lost their connection to apache and are waiting to timeout, 
eventually leaving no free threads for legitimate requests.


can anyone suggest what could be causing this, or how to troubleshoot? 
i've tried using the keepalive=on parameter to ProxyPass with no luck.


here are some relevant configuration details:

with both versions of apache we're using the worker MPM

tomcat server.xml:
Connector port=8009
enableLookups=false redirectPort=8443 protocol=AJP/1.3
minSpareThreads=5 maxThreads=300
connectionTimeout=12 URIEncoding=UTF-8 /

apache 2.0.52/mod_jk 1.2.19 workers.properties
worker.default.port=8009
worker.default.type=ajp13
worker.default.connect_timeout=12
worker.default.connection_pool_timeout=120
worker.default.prepost_timeout=12
worker.default.reply_timeout=180
worker.default.retries=1

apache 2.2.3/mod_proxy_ajp
ProxyPass / ajp://example.org:8009/ timeout=1800 keepalive=on

thanks in advance for any help, and if there's another mailing list for 
mod_proxy_ajp questions that would be a better recipient please let me know!


--
russell  uman
   firebus
d-_-b

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: connection pool issues with mod_proxy_ajp when tomcat is remote

2010-04-13 Thread Pid

On 13/04/2010 20:53, Russell Uman wrote:


howdy!

we're trying to move from apache 2.0.52 with mod_jk 1.2.19 to apache
2.2.3 with mod_proxy_ajp in front of tomcat 5.5.28


mod_proxy_ajp was fairly new in 2.2.3, there are significant 
improvements in it since then.  Upgrading is essential if you want to 
use it in production.


Otherwise, go back to mod_jk - but do try to get the latest version.


and we've run into a troubling bug/configuration/networking problem

with apache 2.0 and mod_proxy, things are very well behaved. apache has
a connection pool of tomcat threads, and when apache kills a child
process the corresponding tomcat thread is closed.

with apache 2.2 and mod_proxy_ajp, when apache kills a child process,
the sometimes the tomcat thread is left hanging in the keep alive state.
tomcat waits 120 seconds before terminating the hanging thread.

this seems to happen more often under higher traffic, and more often
when tomcat is not running on the same server as apache.

under traffic, this results in a large number of tomcat threads that
have lost their connection to apache and are waiting to timeout,
eventually leaving no free threads for legitimate requests.

can anyone suggest what could be causing this, or how to troubleshoot?
i've tried using the keepalive=on parameter to ProxyPass with no luck.

here are some relevant configuration details:

with both versions of apache we're using the worker MPM

tomcat server.xml:
Connector port=8009
enableLookups=false redirectPort=8443 protocol=AJP/1.3
minSpareThreads=5 maxThreads=300
connectionTimeout=12 URIEncoding=UTF-8 /

apache 2.0.52/mod_jk 1.2.19 workers.properties
worker.default.port=8009
worker.default.type=ajp13
worker.default.connect_timeout=12
worker.default.connection_pool_timeout=120
worker.default.prepost_timeout=12
worker.default.reply_timeout=180
worker.default.retries=1

apache 2.2.3/mod_proxy_ajp
ProxyPass / ajp://example.org:8009/ timeout=1800 keepalive=on

thanks in advance for any help, and if there's another mailing list for
mod_proxy_ajp questions that would be a better recipient please let me
know!



Nope, hereabouts is good enough.


p


-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: connection pool issues with mod_proxy_ajp when tomcat is remote

2010-04-13 Thread Russell Uman

we're trying to move from apache 2.0.52 with mod_jk 1.2.19 to apache
2.2.3 with mod_proxy_ajp in front of tomcat 5.5.28


mod_proxy_ajp was fairly new in 2.2.3, there are significant 
improvements in it since then.  Upgrading is essential if you want to 
use it in production.


Otherwise, go back to mod_jk - but do try to get the latest version.


thanks! i'm testing now with mod_jk and apache 2.2.3 and things seem to 
be more cooperative.


--
russell  uman
   firebus
d-_-b

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: connection pool issues with mod_proxy_ajp when tomcat is remote

2010-04-13 Thread Pid

On 13/04/2010 23:25, Russell Uman wrote:

we're trying to move from apache 2.0.52 with mod_jk 1.2.19 to apache
2.2.3 with mod_proxy_ajp in front of tomcat 5.5.28


mod_proxy_ajp was fairly new in 2.2.3, there are significant
improvements in it since then. Upgrading is essential if you want to
use it in production.

Otherwise, go back to mod_jk - but do try to get the latest version.


thanks! i'm testing now with mod_jk and apache 2.2.3 and things seem to
be more cooperative.



2.2.3 is quite old, 28 Jul 2006 according to the archive, 2.2.15 is the 
current release - you should definitely use the latest version and if 
not that a very recent one.



p

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org



Re: connection pool issues with mod_proxy_ajp when tomcat is remote

2010-04-13 Thread Christopher Schultz
-BEGIN PGP SIGNED MESSAGE-
Hash: SHA1

Russell,

On 4/13/2010 3:53 PM, Russell Uman wrote:
 tomcat server.xml:
 Connector port=8009
 enableLookups=false redirectPort=8443 protocol=AJP/1.3
 minSpareThreads=5 maxThreads=300
 connectionTimeout=12 URIEncoding=UTF-8 /
 
 apache 2.0.52/mod_jk 1.2.19 workers.properties
 worker.default.port=8009
 worker.default.type=ajp13
 worker.default.connect_timeout=12
 worker.default.connection_pool_timeout=120
 worker.default.prepost_timeout=12
 worker.default.reply_timeout=180
 worker.default.retries=1
 
 apache 2.2.3/mod_proxy_ajp
 ProxyPass / ajp://example.org:8009/ timeout=1800 keepalive=on

120 seconds is a long time to wait for an HTTP request to show up. Is
that really what you wanted? Also, 1800 seconds (aka 30 minutes) is a
long time for a response. Are you sure these are reasonable values for
your application?

You have set prepost_timeout, but haven't set a ping_mode. Are you
seeing pings being sent? 120 seconds is a long time to wait for an AJP
connection to be made (or to reply to a ping). Again, are these values sane?

Glad to see that mod_jk is working well for you. Pid is right: 2.2.3 was
a lng time ago in terms of mod_proxy_ajp. It's unfortunate that
package managers (RedHat, CentOS, Debian, etc.) move relatively slowly
when it comes to incorporating features such as these. It's
understandable, as most admins want stability over everything else.

Using mod_jk will give you the best experience if you are stuck with a
package-managed version of httpd, but are free to install hand-rolled
modules such as mod_jk.

- -chris
-BEGIN PGP SIGNATURE-
Version: GnuPG v1.4.10 (MingW32)
Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/

iEYEARECAAYFAkvFJ1kACgkQ9CaO5/Lv0PB7vQCeOZa3xHx7UlsyhZkrl92UspSq
VZwAn2pxWrRVhn1r/8BoS0XE/MtEZefK
=Uujk
-END PGP SIGNATURE-

-
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org