tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Michael Echerer <>
Subject Apache 2.0.49/mod_jk2.02 doesn't distribute load evenly to 2x Tomcat5.0.19 under high load.
Date Tue, 01 Jun 2004 09:25:02 GMT

I stumbled upon a serious issue with the load balancing of mod_jk2. Currently
I'm doing load testing with The Grinder. My config is: 1x Apache 2.0.49
compiled with openssl (rest is default, prefork, etc.). mod_jk2.0.2 and 2x
Tomcat 5.0.19 on Solaris 2.8.

With The Grinder I put a high load (100 threads+) on Apache using one of our
servlets (no sessions) that uses a corba connection (thus generally slow,
2sec/request if no load). With so many concurrent requests the servlet may take
1 minute to respond. :-(

Worse enough, but during loadbalance tests I figured out that mod_jk2 doesn't
distribute evenly under high load. Round-robin doesn't seem to work anymore.

ALL requests to that servlet get routed to only one Tomcat which ajp13 queue
gets filled up until Apache throws mod_jk2 errors. The other Tomcat is idle.
You can see in the Tomcat access logs that nothing is routed there.
Second I added a second page to my grinder page (the tomcat-docs/index.html)
which is definitely stateless. Result: ALL servlet requests go to one Tomcat,
ALL docu requests go to the other Tomcat.

Seems like Apache/mod_jk2 routes requests to the same Tomcat it for the previous
request instead of a true round-robin. In effect: under high load this means
that Apache doesn't balance anymore but just fills up a Tomcat's queue until
it's full while other Tomcats are idle.

It seems similar to this production issue:

But I didn't see a solution for it.

I could reproduce this problem in the browser, too. If you trigger this
long-running servlet with a little break the requests are evenly in both
Tomcat's access logs. If you hit the browser reload button too fast all
requests go to one Tomcat. No round-robin any more!

I don't believe it's a mod_jk2 or httpd.conf issue since I
played around much with it. No effect.

Anyone saw similar problems with mod_jk2 under heavy load? Any suggestions?
Is this a known bug, or should I open a new one because load balancing is
useless if it fails exactly during high load and distributes only fine while
you don't need it?


P.S. If you need my config files please let me know, as I don't want to clutter
this mail right now.

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

View raw message