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: users-unsubscr...@tomcat.apache.org
For additional commands, e-mail: users-h...@tomcat.apache.org

Reply via email to