Kommuru, Bhaskar wrote:
Thanks for you comments Michael, So mod_jk2.0.4 does not still seem to be a production quality software. It
doesnot work the way it is supposed to work as the documentation. I have
spent already a lot of time on this.
Actually the 10 Tomcat scenario I mentioned was with mod_jk1.x.y and Apache 2.0.46 (also prefork). I did it merely to verify a new mod_jk2 setup vs. an existing one. Finally I found out that the old setup with mod_jk1 didn't work either. ;-) Why did I start digging...
I just want to confirm one thing here that it works and no matter what your
settings are :--(
By the way... The issue with remote and local workers, can be solved.
You have to set the level attribute for each channel in your workers2.properties:


take for local workers:
level=0

for remote workers:
level=1

Usually you will set this for all your channels vice versa on e.g. two Apache machines (each with e.g. 2 local Tomcats and 2 remote Tomcats).
In front of the 2 Apaches you could have a hardware lb.


The effect is that (each) Apache will only serve its local workers according to its workers2.properties until (here: both!) all local Tomcats are offline. So in this respect to mod_jk2 docu is quite okay. At least this part of the config works for me. I did't that any lb_factor for the channels, only level to achieve this local/remote distribution.

If you don't like this you have to set the level equally for all your Tomcat channels. Guess the local/remote levels are mainly to save some bandwith.

Michael
P.S. Until now I still think, that the best approach would be to try the MPM worker, instead prefork and check whether this has really a positve effect. Any volunteers for compiling Apache 2.x "--with-mpm=worker" and trying this?


If you know any links which tells more details on this, Please let me know.

Regards,
Bhaskar


-----Original Message----- From: Michael Echerer [mailto:[EMAIL PROTECTED] Sent: Thursday, June 17, 2004 9:08 PM To: Tomcat Users List Subject: Re: JK2: lb_factor


I measured similar effects using "The Grinder".
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]





---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to