Re: Profiling Tapestry
"Malcolm Edgar" <[email protected]> Sat, 21 Dec 2002 10:22:21 +0800
| Newsgroups | gmane.comp.java.tapestry.contrib |
|---|---|
| Message-ID | <[email protected]> |
I am not arguing that Tapestry doesn't have a performance problem under high loads. I dont know, I am developing for an Intranet environment with a small number of users. I do vaguely remember someone, who wrote Sun PetStore in Tapestry and said it hit a bit brick wall under heavy loads. Whether this was Tapestry, a poor implementation or a database issue I don't know. What I can tell you about my experience which was Servlet/JSP MVC style application with an in-memory database cache. Server: 500MB, 2 CPU, NT Server, Tomcat 3.3, JDK 1.2.x Clients: 4-5 clients running MS WebStress Test. 1. a single call System.gc() - was crippling performance, with this removed we saw a 10x improvement 2. a single string concatenation tight CORBA message processing loop, occupied 1 CPU at 100% utilization 3. excessive number of client request handling CORBA threads impacted performance (3 was optimal number) 4. replacing Vectors with ArrayLists in a HTML Table object, saw a 100% performance improvement. While this code as suspected of causing problems, it was only detectable under heavy multi-threaded loads 4. using CSS classes in HTML pages instead of specifing fonts in table cells significantly improved render times, some 30-50% 5. replacing LinkedList with a ArrayList in a cached ResultSet gave a significant performance improvement, LinkedList sequential access really hurt 5. excessively board synchonization causes some nasty blocking 6. Moving from JDK 1.2.x to 1.3 saw a 100% performance improvement Tapestry is unusual in that it pools pages which are quite heavy weight objects. JSP/Servlets have a relatively short rendering pipeline, which good for performance, but can't handle a complex design space well as Tapestry can. With this page pooling code there could be potential for performance issues, with synchronization, blocking and object allocation / memory churn. From the code I have seen Howard write it is exceptionally good (significantly better than mine), with very good attention to detail on these issues. There was a good article on TSS recently with regard to Borland BES performance. Borland were using JStore as the database, because Oracles JDBC driver was doing rediculous amounts over memory allocation and they could identify there own performance issues with this JDBC driver in the same JVM. This is not trivial stuff, but it is very good to do. regards Malcolm >From: "Luis Neves" <[email protected]> >To: "Tapestry Contrib" <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org> >Subject: Re: [Tapestry-contrib] Profiling Tapestry >Date: Fri, 20 Dec 2002 15:26:03 -0000 > >On Friday, December 20, 2002 1:44 PM, Howard M. Lewis Ship wrote: > > > This may also mandate that Tapestry only support utf-8 as a character > > encoding. > >That would be bad. >I'm looking at the Resin source under com.caucho.vfs for ideias and >they seem to handle most of the difficult stuff, but java.io.* is not >my cup of tea. > >Can you give us an overview of the Tapestry IO process? >I really don't know much about Tapestry guts. >There could be other ideias worth exploring, like DOM parsers for >example. > > >Best regards, >Luis Neves > > > >------------------------------------------------------- >This SF.NET email is sponsored by: The Best Geek Holiday Gifts! >Time is running out! Thinkgeek.com has the coolest gifts for >your favorite geek. Let your fingers do the typing. Visit Now. >T H I N K G E E K . C O M http://www.thinkgeek.com/sf/ >_______________________________________________ >Tapestry-contrib mailing list >Tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org >https://lists.sourceforge.net/lists/listinfo/tapestry-contrib _________________________________________________________________ MSN 8 helps eliminate e-mail viruses. Get 3 months FREE*. http://join.msn.com/?page=features/virus&xAPID=42&PS=47575&PI=7324&DI=7474&SU= http://www.hotmail.msn.com/cgi-bin/getmsg&HL=1216hotmailtaglines_virusprotection_3mf ------------------------------------------------------- This SF.NET email is sponsored by: The Best Geek Holiday Gifts! Time is running out! Thinkgeek.com has the coolest gifts for your favorite geek. Let your fingers do the typing. Visit Now. T H I N K G E E K . C O M http://www.thinkgeek.com/sf/