Hello Talha,

from a quick glance at your post, do you have the same 30 max threads
limit in weblogic?
Because sending 525 users through 2x30=60 max threads seems a little
bottlenecky.
Which software are you using to produce the load? Does it keepalive
the connections?

regards
Leon

On Fri, Sep 2, 2011 at 3:31 PM, Talha Fazal <tfa...@credera.com> wrote:
> Background:
>
> We have a moderately high traffic web application (between 8 to 21 million 
> hits/day) running Apache to serve static content (also to load balance and 
> create a DMZ) and Weblogic to serve dynamic content (Struts 1.1 based Java 
> web application).
> We are trying to replace Weblogic with Tomcat and we have ported our code to 
> work with Tomcat. All works well in Tomcat in the DEV, QA, and STAGING 
> environment as long as there is no real load.
>
> The Issue - Load Testing:
>
> In our staging environment for load testing, when we run the load test using 
> 525 concurrent users, the app doesn't perform at all. The CPU usage (on 
> Apache and Tomcat Servers) hovers between 7% to 8%. The database server CPU 
> usage is also between 4 and 5%.
>
> Setup for Load Testing:
>
> We have setup 2 apache web servers (4 Quad Processors i.e. 16 CPUs each), 2 
> Tomcat (version 6.0.29) servers (4 Quad Processors i.e. 16 CPUs each). Each 
> server has 32 Gb ram. We are using AJP 1.3 to connect Tomcat and Apache.
>
> Mentioned below is the version information:
> Apache Version 2.2.14 (with mod_jk module)
> Tomcat: 6.0.29
> Database: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bits
> Connection Pool: DBCP.
>
> Mentioned below are connector settings in conf/server.xml:
>
>  <Connector
>        address="stagingTCserver01"
>        backlog="300"
>        connectionTimeout="60000"
>        enableLookups="false"
>        maxPostSize="2097152"
>        maxSpareThreads="10"
>        maxThreads="30"
>        minSpareThreads="5"
>        port="8006"
>        protocol="AJP/1.3"
>        tcpNoDelay="true"
>    />
>
> Mentioned below are the settings for JNDI resource configured in 
> conf/context.xml:
>
>  <Resource
>        name="jdbc/onlinedb"
>        auth="Container"
>        type="javax.sql.DataSource"
>        driverClassName="oracle.jdbc.OracleDriver"
>        url="jdbc:oracle:thin:@192.168.12.10:1521:WEBDB"
>        initialSize="1"
>        maxActive="30"
>        minIdle="1"
>        maxIdle="5"
>        maxWait="300000"
>        poolPreparedStatements="true"
>        maxOpenPreparedStatements="300"
>        validationQuery="SELECT 1 FROM BB_DUAL"
>        testOnBorrow="true"
>        validationInterval="10000"
>        testWhileIdle="true"
>    />
>
> JVM Parameters:
>
> -Xms512m -Xmx2048m
> -XX:PermSize=128m -XX:MaxPermSize=256m
> -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/logs/WL2TC/app/
> -verbose:gc -Xloggc:/logs/WL2TC/app/WL2TC_1-gc.log
>
> It must be noted that Weblogic setup performs very well using similar 
> settings.
>
> Garbage Collection: While the load test is running, Garbage collection works 
> just fine i.e. Young GC occurring every 2-3 minutes and takes less than half 
> a second. Full GC occurs every hour and takes a little over 2 seconds.
>
> Any tips/pointers will be greatly appreciated.
>
> Talha.
>

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

Reply via email to