> I mean, when do you know that current jvm is fully used 
> and that you should start a new one and balance the load 
> on two? 
Interesting question.  Generally, I'd suggest that you do a load test.  You
increase the load against the Tomcat instance until the CPU that Tomcat is
using isn't increasing any more but the client service time is.  This
suggests that you've reached the scalability limit of a single Tomcat
address space.  Then, graph your results.  You'll often find a sharp angle
in the graph where response time increases sharply with load.  Back off from
this point a little (say 10%) and that's your maximum  throughput for the
single JVM,

> Also, how do you know that current machine has enough load 
> and can't support any more requests, and load 
> should be balanced on two machines? 
This is easier to do.  Assuming you are using Unix, use tools like top(1m),
mpstat(1m) on Solaris and ps(1) to check CPU usage. Check memory usage (and
paging activity) with vmstat(1m).  For NT, PerfMon provides the same sort of
facilities via a GUI.

For Solaris you can also use the SEToolkit freeware package - it comes with
a tool called "Zoom" that provides instant feedback on whether important
areas of the machine are overloaded or not.  

Cheers,

Eoin.
-----Original Message-----
From: Bora Paksoy [mailto:[EMAIL PROTECTED]]
Sent: Sunday, July 15, 2001 5:21 AM
To: [EMAIL PROTECTED]
Subject: When to start a new JVM?


Hi there;

I am actually a java developer who was asked to manage
some Tomcat instance;) Hence, this question may sound
dumb, but excuse my sys-admin skills. 

Anyways, I know that you can start multiple-jvms and
even different instances on different machines, but I
was wondering how people decide when to start a new
JVM? I mean, when do you know that current jvm is
fully used and that you should start a new one and
balance the load on two? Also, how do you know that
current machine has enough load and can't support any
more requests, and load should be balanced on two
machines? Is there any tool that tells you that one
specific jvm process is fully loaded, likewise is
there any tool that tells you that this machine is
fully loaded and load should be distributed on
different machines ?

Thanks,
Baho.

__________________________________________________
Do You Yahoo!?
Get personalized email addresses from Yahoo! Mail
http://personal.mail.yahoo.com/

Reply via email to