On 26.10.2010 20:36, Marc Wilmots wrote:
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).
Yes.
But your calculation above is not right. Each Apache will connect to
each Tomcat. So from the point of view of one Tomcat, it has 200
threads, but 1200 posible incoming connections from the Apache Servers.
So it is not 1200 > 800 but 1200 > 200!
Regards,
Rainer
---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org