Try using jconsole.exe (it is part of the Sun JDK) to review memory and thread 
usage of your JVM. That should help you narrow down where the issue is. One key 
thing to look at with Jconsole is the heap memory used figure. You are setting 
your -Xmx, but how much of it are you actually using? Heap memory used will 
tell you if you have a memory constraint or not. Also look at how often you 
have garbage collections. You'll have more of them if you have a memory 
constraint. One more thing, be sure your min and max memory configurations are 
the same. It's more efficient that way. 

On 32-bit Windows, you should be able to use 1536MB as your -Xmx size. That is 
what we are able to use, at least using JDK 1.6.x. Upgrading to 64-bit Windows 
and a 64-bit JVM (and 64-bit Tomcat) will allow you to use as much RAM as you 
have available. We have a 64-bit Windows system with 18 GB of RAM allocated to 
Tomcat/Java.


Good luck,
Brian




________________________________
From: nodje <nodje...@gmail.com>
To: users@tomcat.apache.org
Sent: Monday, December 29, 2008 2:57:14 AM
Subject: Optimizing Tomcat with Http11NioProtocol?


Hi,

we are still using 5.5.12 in production and our users are facing increasing
delays with their requests (like way too long by now already).
While we are not entirely sure about what's causing this (database vs Java
application), we suppose it comes from the Java application (the database
server never seems to be under stress).
The CPU of the Tomcat machine doesn't seem too busy either.

Providing it comes from the Java application side (by the way, any tips on
how to precisely identify that is more than welcome), and providing that the
problems come from too many requests, would Http11NioProtocol help Tomcat
speed up the execution? 
It seems worth trying Http11NioProtocol before going for clustering+load
balancing. Any advice on the matter?

Also we think that request that cannot b served in the reasonable time
should be refused. Taking into account the described behaviour with the
default maxThreads=150 and acceptCount =100 values, shouldn't we decrease
the acceptCount?
Moreover the CPU on the Tomcat machine doesn't seem too busy. Is it a sign
that we can increase maxThreads?

Tomcat is on a Windows 32bits machine, so even though the machine has 4Gb of
RAM, the MAX -Xmx size  that we can be used seems to be around 1200Mb. Would
a 64bits OS automatically allows for more memory usage?

A lot of questions I know, but facing big problems like we are now, we want
to try anything possible to quickly relieve the pain from using the
application!

thanks to anyone providing advice
-nodje
-- 
View this message in context: 
http://www.nabble.com/Optimizing-Tomcat-with-Http11NioProtocol--tp21200419p21200419.html
Sent from the Tomcat - User mailing list archive at Nabble.com.


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org


      

Reply via email to