Return-Path: Delivered-To: apmail-jakarta-tomcat-user-archive@apache.org Received: (qmail 79481 invoked from network); 11 Jun 2002 15:58:12 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 11 Jun 2002 15:58:12 -0000 Received: (qmail 25668 invoked by uid 97); 11 Jun 2002 15:57:54 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-user@jakarta.apache.org Received: (qmail 25612 invoked by uid 97); 11 Jun 2002 15:57:53 -0000 Mailing-List: contact tomcat-user-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Users List" Reply-To: "Tomcat Users List" Delivered-To: mailing list tomcat-user@jakarta.apache.org Received: (qmail 25585 invoked by uid 98); 11 Jun 2002 15:57:52 -0000 X-Antivirus: nagoya (v4198 created Apr 24 2002) Message-ID: <3D061E62.F116A311@labs.gte.com> Date: Tue, 11 Jun 2002 11:59:30 -0400 From: peter lin X-Mailer: Mozilla 4.7 [en] (WinNT; U) X-Accept-Language: en MIME-Version: 1.0 To: Tomcat Users List Subject: Re: Tomcat Performance?? References: <1023809932.3d06198ce5209@webmail4.maa.sify.net> Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N Hanks Mei wrote: > > Hi, Sorry mail client got corrupted, so just copied your mail and > see inline for answers > > For Peter: > > >Are you using tomcat 4.0.3 _ jdk1.4 on Solaris? > NOPE!! Using Linux 6.1 RH > > >1. pages with lots of tags (50+) do not perform well under load > >2. pages with 100+ tags may not compile due to 64K per method limitation > >in Java. This particular issue is currently being address by a couple > >developers and should be fixed in 4.1.x. > I understand that there will be a performance degradation when tag > libraries are used.But still the same page must be in the > same range right?? > >3. deeply nested try/catch statements result in rapid performance > degredation under load > > Well, maybe i need to check the tag''''s code for nested try/catch > I don''''t remember adding any, anyway will check this. the deeply nested try/catch is the generated jsp source under tomcat/work/localhost/. It has nothing to do with the tag itself, unless you're using custom tags which you wrote. If you're using jstl, struts or some third party tag, it's unlikely there would be deeply nested try/catch. > > >There are a couple things that will improve the situation. When tomcat > >4.0.4 comes out, it has a recent patch which fixes deeply nested > try/catch. Also, tomcat 4.0.4 has a new httpconnector called coyote. > >Together the performance improves dramatically such that the number of > >concurrent requests triples. Also, the response time improves > > Maybe I will try with 4.0.4& 4.1.3 > > >significantly. If you''re page still performs poorly, try breaking it up > >into include files and use action include instead of include directive. > >I.e use or , instead of <%@ include %>. I hope > >that helps. > But using includes/forwards will increase the performance load, rather > than decreasing it. B''''cos the request handler has to process > the request and there is always an overhead in using includes believe it or not, for 8+ concurrent requests, the performance could be better. You can search the tomcat-dev and tomcat-user list for the benchmarks I posted a while back. With one request, using include directive is faster, but you run into the 64K per method limit 4.0.3 jasper. You may not be able to break a long jsp page into discrete pieces, but doing so does improve performance under load. I've done tests where I wrote the same pages using both tags and scriplets. The scriplets has the lower memory and performance overhead compared tags. One thing to remember is tomcat handles each request in one thread, so when action include is used, there's more than one thread handling the request. If the page is broken up correctly, the page will perform better than include directive. This is especially true if all the set calls are at the very beginning of the page and do not occur through the rest. Breaking up the rendering logic to chunks will speed up the response time. peter -- To unsubscribe, e-mail: For additional commands, e-mail: