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