Hi Chris Sorry about the delay in replying. I've been a bit busy with performance issues :) The issue has come down to the vendor code persisting the cache as serialized objects to the file system and taking time to load it back, based on the decompiled code. The cache seems to be sufficiently tuned but for some reason, the file access is slow. We haven't yet got the exact reason yet, so have to wait and see. Vijay From: vijay_me...@hotmail.com To: users@tomcat.apache.org Subject: RE: Tomcat performance under low load Date: Sun, 17 Oct 2010 08:42:30 +1000
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