I have our production site running on Apache/Tomcat4.0.1/mySQL/FreeBSD.We have seen some performance problem when the traffic reaches 400 users.
We are aware that,single JVM has its own limitations maybe one Tomcat instance can take upto 500 user objects.Any sensible person will think of clustering/Load balancing when traffic starts pouring in.
Is clustering possible with Tomcat as compared to weblogoc/websphere..?
If not then,whats an alternative solution.Should we recommed our client to switch to websphere instead of tomcat..?
There is a notion of "Tomcat workers."
You can have several single-process tomcat server installations (on the same machine or on different machines).
You have one of the following web servers "in front" of them:
iPlanet Web Server
You get a web server "plugin" for your particular web server (these are part of the Tomcat 3.2.x source tree.
However, after building this plugin, I used it with Tomcat 4.0 servers).
I tried this on Solaris, letting a single iPlanet Web Server use the plugin to forward requests (in round robin fashion) to four separate Tomcat servers.
It didn't work too well under heavy load. I saw socket-related errors in the web server's error log; the plugin was having problems making a small percentage of it's connections. No trouble with the Tomcat servers, though.
After having the problem, I checked groups.google.com and looked for others with the same trouble. I did find one person complaining about bugs in the plugin code.
It may have been some problem with my particular configuration; YMMV. However, if you are willing to tweak
the plugin code if necessary, setup wasn't too hard and
this could work for you.
Have a look at resin - www.caucho.org - it plugs into
all sorts of web servers (incl apache) and the plugin
provides session aware load balancing - if there is
a session on the request, you land on the same VM, if
there is not it does round robin. Work very well.
I think there is some work on the tomcat connectors
to do the same, but I am not sure whether this works
Does nothing for fail over (there is support for
distributed sessions as well, but I have not used
it) but it does balance nicely.
Hope this helps.
...or you could try out Borland Enterprise Server - Web Edition, which is based on Tomcat 4.0 and has clustering/load balancing included in the price ($400/CPU).