You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Russell Uman <ru...@firebus.com> on 2010/04/13 21:53:49 UTC
connection pool issues with mod_proxy_ajp when tomcat is remote
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="120000" 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=120000
worker.default.connection_pool_timeout=120
worker.default.prepost_timeout=120000
worker.default.reply_timeout=1800000
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: connection pool issues with mod_proxy_ajp when tomcat is remote
Posted by Christopher Schultz <ch...@christopherschultz.net>.
-----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="120000" 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=120000
> worker.default.connection_pool_timeout=120
> worker.default.prepost_timeout=120000
> worker.default.reply_timeout=1800000
> 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 loooong 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: connection pool issues with mod_proxy_ajp when tomcat is remote
Posted by Pid <pi...@pidster.com>.
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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: connection pool issues with mod_proxy_ajp when tomcat is remote
Posted by Russell Uman <ru...@firebus.com>.
>> 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org
Re: connection pool issues with mod_proxy_ajp when tomcat is remote
Posted by Pid <pi...@pidster.com>.
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="120000" 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=120000
> worker.default.connection_pool_timeout=120
> worker.default.prepost_timeout=120000
> worker.default.reply_timeout=1800000
> 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-unsubscribe@tomcat.apache.org
For additional commands, e-mail: users-help@tomcat.apache.org