Under maximum load with long running requests it can be even that worse that one Apache 2.x (default compile: prefork) with 2 Tomcats 5.x/mod_jk2 only distributes to the first Tomcat at all.
This is true as long as Apache runs out of MaxClients because of the concurrent requests. Then, for some reason, Apache starts to distribute also some load to the second Apache.
So it might help if you lower MaxClients (this seems the only thing that has an direct effect, not lb_factor, not ajp13 threads or anything else) to force this earlier, but be aware that this might produce errors if you get much more requests that then can't be queued anymore.
I suppose Apache prefork and worker communication via shared memory by mod_jk2 don't work well together, or the don't work at all for true round robin. Putting more than 2 Tomcats won't help with high load. I once had 10 Tomcats, but in the end only the first few got most of the load, Tomcat No 7-10 almost nothing.
I also heard that Apache MPM may help, but didn't try yet. So either I forget something in my config, I have to use MPM (although nothing is really mentioned about those issues in the docu), or mod_jk2 is really not too good in this area.
Last advice: If you have that option to use a hardware router than I'd suggest to use more Apaches with only one Tomcat behind each of them. This will definitely work best as those routers do a true round robin.
Ralph Einfeldt wrote:
The quality of the distribution depends on the worker type of apache. (AFAIK only the 'worker' MPM will work)
Nevertheless AFAIK the load balancing in mod_jk is not complete in this area, so I'm not shure if you will get the desired distribution (but it should be closer).
-----Original Message----- From: Weseloh, Nicole [mailto:[EMAIL PROTECTED] Sent: Wednesday, June 16, 2004 11:48 AM To: [EMAIL PROTECTED] Subject: JK2: lb_factor
I've got a cluster with 2 tomcat 2.0.25 on different machines, on one of them also running Apache 2.0.49 with JK2 as a loadbalancer. Requests get redirected to both tomcat instances, but it always ends up with around 1/3 of all requests at the local server and about 2/3 at the remote one, no matter what value the lb_factors are.
So, could anyone tell me which values I should use to make the lb_factor work correctly? All information I found was that "a lower value means more requests" (official JK2-documentation at jakarta.apache.org).
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
-- Dipl.-Inf. (FH) Michael Echerer TNG Technology Consulting GmbH, http://www.tngtech.com Betastr. 13a, 85774 Unterföhring bei München, Tel. +49 89 2158996-0, Fax. +49 89 2158996-9, Mobile +49 176 20088854
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]