2010/10/26 Mladen Turk <mt...@apache.org>

> On 10/26/2010 02:47 PM, Marc Wilmots wrote:
>
>> Hi Experts,
>>
>> I have the following setup:
>>
>>                 Apache1
>>                 /         \
>>   Apache2           Apache3
>>                \          /
>>                Tomcat1
>>
>> All Apaches are version 2.2.3 (RedHat)
>> Apache2 and Apache3 loadbalance Tomcat1 (6.0.18) with mod_jk (2.2.28).
>>
>> In idle state the AJP connector of Tomcat1 only has 7 active connections.
>> After launching a stress test of Tomcat1, it's AJP connector has reached
>> maxThreads (200). After the stress test has finished, there are still 200
>> active connections in the AJP connector.
>>
>> Because of this, apache2 and apache2 cannot receive any heartbeat message
>> anymore from the AJP connector and mark Tomcat1 as dead. I can access
>> perfectly through port 8080, so Tomcat1 isn't dead at all!
>>
>>
> You have a usual setup problem where the number of connections
> in httpd fronting tomcat is too high for a tomcat.
> And you don't have any mechanism for limiting those connections.
>
> Sorry, I realize I had to mention I have a total of 4 Tomcats, which in
total make up a maxThreads of 800 (200 each).
The Apaches have a maxClients of each 600 (1200 total).

1200 > 1000, thus your theory is probably right. However, I'm just
wondering... I read that when Tomcat reaches the max number of connections,
just rejects new connections (I'm omitting the backlog on purpose).

So, I can understand that my Tomcat is reaching the maxThreads, but I'm
supposing that once I stop my stress test, the connections should go down,
and not remain there as "idle" as they do now. No load, means no more
connections, so why does mod_jk keep the 200 connections occupied? I don't
have anything set such as keepalive or whatever.. Shouldn't it just release
the connections?


Now, RHEL5 offers both the the prefork (default) and worker
> (httpd.worker) mpm, so if you wish to use that topology of yours
> you will have to do do two things.
> 1. Use worker mpm
> 2. Limit the number of connections from httpd to tomcat by
>   using connection pool (hint. maxThreads in Tomcat <= ServerLimit *
> ThreadsPerChild)
>
> There is a nice calculator that my co-worker wrote:
> http://lbconfig.appspot.com/
>
> It's a simple and it'll generate all configs for you.
>

Wow! Indeed, it's very very nice. I love it! Thanks a lot!

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

Reply via email to