Hi There,
I'm quiet new to this mailing list as I encounter some configuration problems
with Tomcat 7.0.30.
We are currently developing a web application, and we wish to have a good
response time with about 200 parallel sessions. My problem is that starting
from 70 users, the system does not respond quietly. At 70 users, we have an
average of 4000ms for the response time. At 120 users we are at an average of
20000ms and with 200 users we have about 45000ms of response time. All of those
numbers were computed with JMeter, using 4 passes.
Tomcat is running with the following options: jdk 1.7.0_07 ; server\jvm.dll ;
initial memory pool 1024Mb ; maximum memory pool 1250 Mb ; Thread stack size :
1024 kb ; 64 bit version for both java and tomcat
The server itself is a Windows Server 2008 Standard edition running on Intel
Xeon X5660 @ 2.8Ghz (2 physical processors ; 24 virtual processors ) ; 12Gb Ram
When the server is under a big load, what I could see with VisualVM is that the
heap size used never exceed 500Mb. When 500Mb is reached, it drops back to
about 100Mb. Another thing is that the CPU never works more than 5% of its
capabilities.
I also took a look at the CPU usage in java classes, and there I saw that 95%
of the time goes to org.apache.tomcat.util.threads.TaskQueue.take(). The first
class related to my application is the oracle.net.ns.Packet.receive() and is at
0.1% of the CPU time ...
I've looked on a lot of forums to try to tune my tomcat configuration, but I
haven't found anything that could really help me, this is the reason I ask to
you. I've just put you the whole server.xml file after this, hoping you can
have a look and tell me if there is some big issue with it... The only thing I
changed is the IP of the server.
Thanks in advance,
Romain Van der Keilen.
<?xml version='1.0' encoding='utf-8'?>
<Server port="8885" shutdown="SHUTDOWN">
<!--APR library loader. Documentation at /docs/apr.html -->
<Listener className="org.apache.catalina.core.AprLifecycleListener"
SSLEngine="on" />
<!--Initialize Jasper prior to webapps are loaded. Documentation at
/docs/jasper-howto.html -->
<Listener className="org.apache.catalina.core.JasperListener" />
<!-- Prevent memory leaks due to use of particular java/javax APIs-->
<Listener
className="org.apache.catalina.core.JreMemoryLeakPreventionListener" />
<!-- JMX Support for the Tomcat server. Documentation at
/docs/non-existent.html -->
<Listener
className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" />
<Listener
className="org.apache.catalina.core.ThreadLocalLeakPreventionListener" />
<GlobalNamingResources>
<Resource name="UserDatabase" auth="Container"
type="org.apache.catalina.UserDatabase"
description="User database that can be updated and saved"
factory="org.apache.catalina.users.MemoryUserDatabaseFactory"
pathname="conf/tomcat-users.xml" />
</GlobalNamingResources>
<Service name="Catalina">
<Executor name="tomcatThreadPool" namePrefix="catalina-exec-80-"
maxThreads="650" minSpareThreads="100" />
<Connector executor="tomcatThreadPool" address="10.10.10.10" port="80"
maxHttpHeaderSize="8192" protocol="org.apache.coyote.http11.Http11NioProtocol"
connectionTimeout="20000" redirectPort="443"
server="lighthttpd/2.0.0" enableLookups="false" acceptorThreadCount="4"
socket.directBuffer="false"
compression="off"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,image/jpeg,image/png,image/gif"
acceptCount="50" bufferSize="4096" />
<Executor name="stomcatThreadPool" namePrefix="catalina-exec-443-"
maxThreads="650" minSpareThreads="100" />
<Connector executor="stomcatThreadPool"
protocol="org.apache.coyote.http11.Http11NioProtocol" port="443"
SSLEnabled="true" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
keystoreFile="D:\keystore\appks" server="lighthttpd/2.0.0"
enableLookups="false" keystorePass="changeit"
address="10.10.10.10" acceptorThreadCount="4" socket.directBuffer="false"
compression="off"
compressableMimeType="text/html,text/xml,text/plain,text/javascript,text/css,image/jpeg,image/png,image/gif"
acceptCount="50" bufferSize="4096" >
</Connector>
<Engine name="Catalina" defaultHost="localhost">
<Realm className="org.apache.catalina.realm.UserDatabaseRealm"
resourceName="UserDatabase"/>
<Host name="10.10.10.10" appBase="D:\Tomcat7\" unpackWARs="true"
autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false">
<Valve
className="org.apache.catalina.valves.AccessLogValve"
directory="D:\Logfiles\Tomcat\http\Prod" prefix="access_log." suffix=".txt"
pattern="common"/>
<Context path="" docBase=" Prod" reloadable="true"
crossContext="false"></Context>
</Host>
</Engine>
</Service>
</Server>
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]