Thanks for the replies. Based on that, we did change the connectors to use executor threads. However, based on profiling the app, it turned out to be a code issue. Thanks again.
From: vijay_me...@hotmail.com To: users@tomcat.apache.org Subject: Tomcat performance under low load Date: Thu, 14 Oct 2010 09:35:14 +1000 Hi all Thanks for reading this post. We are currently having 2 requirements that are opposites. The first requirement is performance under high loads and the other one is equivalent performance for 1 request. Our prod env currently uses Apache with mod_jk and ajp 1.3 to Tomcat 6.0.26 and jdk 1.6.0_18 on solaris. We're scaling to satisfactory loads of 250 concurrent requests serving pages in 0.5 seconds. The other test scenario is where the tomcat instance is kept idle and a single request is sent in every 90 or so seconds. In this case, the response takes about 8 seconds out of which about 6 seconds cannot be tracked. As the result, what we're finding is that under high loads, it performs well but under very low loads, it does not. This definitely happens in the tomcat layer as we've used the FastCommonAccessLogValve logger which gives the time for the request in Tomcat. The connector properties are protocol="AJP/1.3" maxThreads="150" minSpareThreads="25" maxSpareThreads="75" acceptCount="100" connectionTimeout="20000" disableUploadTimeout="true" useBodyEncodingForURI="true". I was wondering whether anyone would be able to help with this issue. Thanks in advance VM