tomcat-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From peter lin <>
Subject Re: Tomcat Performance??
Date Tue, 11 Jun 2002 15:59:30 GMT

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 <c:import> or <jsp:include>, 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.


To unsubscribe, e-mail:   <>
For additional commands, e-mail: <>

View raw message