tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Customer Support at" <>
Subject RE: patch: mod_jk load balance algorithm that accounts for current worker load
Date Sat, 06 Aug 2005 07:54:23 GMT
Dear Valued Customer,

Thank you for contacting Customer Support at

Your questions and concerns are important to us and we are dedicated to 
assisting you in anyway possible. In order to assist you in the most 
efficient and timely manner, all email correspondence must be submitted 
through our online email form. To locate our online email form, we ask 
that you visit our Help Desk at Customer Support at  and choose FAQ/Contact Us under Online 
Store Information. Then, choose the subject that will address your 
question and send us an email through our online email form.  

We apologize for any inconvenience this may cause you.  


Customer Support at

Original Message Follows:

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

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 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:
For additional commands, e-mail:

This message, including any attachments, is solely for the use of the
intended recipient(s) and may contain confidential and/or privileged
information.  Any unauthorized review, use, disclosure or distribution 
this communication is expressly prohibited. If you are not the intended
recipient, please contact the sender by reply e-mail and destroy any and
copies of the original message. Thank you.                      

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message