mod_jk developers: We have been using mod_jk for some time, (1.2.8, 1.2.10, and now 1.2.14), with Apache 2.0.50, Tomcat 5.5.9, under fedora (2.4.22 kernel). We have 6 tomcats as balanced workers, and we're using lb.method=[R]equest.
When load testing our tomcats individually, they can handle about 10 requests per second. Our application is completely parallel, nothing is shared (no database). However, when we test against the load balancer, it starts out okay, but degrades to about 12 to 16 requests per second overall. It should be getting somewhere between 50 and 60 requests per second (6 servers * 10 requests per second each). With mod_jk 1.2.14 we were able to check the (very helpful) jkstatus page, and we noticed that the Busy column was very high for the "lagging" server, yet mod_jk kept giving it more requests, while other servers were sitting with 0 Busy. We tried both optimistic and pessimistic locking modes; pessimistic may have been slightly better but it was hard to say. We added a simple load balancing algorithm (to common/jk_lb_worker.c) that takes into account the "busyness" of each worker and its lbfactor, and picks the worker with the lowest current load. It ignores the "Load Balancer Value". This simple algorithm improved our test from 12-16 requests per second to 60+ requests per second, and watching the jkstatus page showed that all servers were kept "evenly" busy. If one particular server slowed down, its Busy value increased, so it received fewer requests. We'd like to submit our patch to mod_jk. We've added a new workers.properties lb.method option -- lb.method=B for "Busyness", and updated the jkstatus display page accordingly. I wanted to get any feedback or suggestions from the mailing list before submitting the patch to bugzilla. Thanks, Chris Lamprecht --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]