Re: Profiling Tapestry

"Malcolm Edgar" <[email protected]> Fri, 20 Dec 2002 08:21:28 +0800
Newsgroups gmane.comp.java.tapestry.contrib
Message-ID <[email protected]>
I have been involved is performance profiling and stress testing of Servlet 
web applications. What we found was:

* when your app is running well, most of the CPU time will be spent
  in the Servlet container code

* performance problems generally can only be identified
  when under server is under a significant load

  this is not an easy thing to achieve, you will need your server
  getting hammered by a number of client machines running test
  robots. Also be aware of the 10 TCP/IP client limit of
  Windows NT Professional and Windows 2000 Professional

* take a look at the number of Object instances created to make sure
  you are not doing anything silly

regards Malcolm

>From: "Howard M. Lewis Ship" <[email protected]>
>To: "Luis Neves" <[email protected]>,"Tapestry Contrib" 
><tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
>Subject: Re: [Tapestry-contrib] Profiling Tapestry
>Date: Thu, 19 Dec 2002 18:20:45 -0500
>
>Hm.
>
>That might be an area to look into.  Since all Tapestry output is run
>through IMarkupWriter .... we don't absolutely have to base it on a
>PrintWriter.  Still, if we read templates as bytes, we'd have to do a lot 
>of
>our own conversion back to char just to parse the damn thing.  I guess the
>templates start as binary, convert to char, and convert back to binary on
>the way to the browser.
>
>How is this different than JSP?  Most of the JSP implementations put the
>template into strings and have endless out.print("....") statements.
>
>----- Original Message -----
>From: "Luis Neves" <[email protected]>
>To: "Tapestry Contrib" <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
>Sent: Tuesday, February 19, 2002 3:52 PM
>Subject: Re: [Tapestry-contrib] Profiling Tapestry
>
>
> >
> > I stopped measuring "Elapsed Time" and started measuring "CPU Time"
> > and the results are making more sense, also I pick a very simple page
> > (it's only a static page with a Tapestry BasePage associated) in order
> > do reduce the noise ,and because I've always been curious as to why
> > Tapestry works so hard with pages that are mostly static, I mean, no
> > matter how complex a page is, Tapestry always seems to do the same
> > effort.
> >
> > It looks like what's keeping Tapestry down is the use of
> > PrintWriter.
> > See:
> >
> > <http://pwp.netcabo.pt/lneves/tapestry_Run2.html>
> >
> > I remember sometime ago reading a paper from Sun about servlet
> > performance where they conclude (among other things):
> >
> > - Converting chars to bytes is *very slow*
> > - Always use OutputStream, never PrintWriter
> > - Store bytes, not characters
> >
> > Ok ... I know ... This is probably preaching to the choir :-)
> > The paper is online:
> > <http://java.sun.com/javaone/javaone2001/pdfs/551.pdf>
> >
> > The problem is of course that PrintWriter may very well be the only
> > thing available that Tapestry can use ... and in that case we are
> > screewed :-)
> >
> >
> > Best regards,
> > Luis Neves
> >
> >
> >
> > ----- Original Message -----
> > From: "Luis Neves" <[email protected]>
> > To: "Tapestry Contrib" <tapestry-contrib-5NWGOfrQmneRv+LV9MX5uipxlwaOVQ5f@public.gmane.org>
> > Sent: Tuesday, February 19, 2002 3:38 PM
> > Subject: [Tapestry-contrib] Profiling Tapestry
> >
> >
> > >
> > > I'm trying out the JProbe profiler suite using a Tapestry Application
> > > ( using a "net.sf.tapestry" filter) and it seems that Tapestry spends
> > > most of the time sleeping :-) , see here:
> > >
> > > <http://pwp.netcabo.pt/lneves/tapestry_Run.html>
> > >
> > > The big offender seems to be the JanitorThread used by the Tapestry
> > > Pool.
> > > Does this make sense? I have no idea of how to interpret the
> > > results... it seems that using a profiler is somekind of a black art.
> > >
> > > Best regards,
> > > Luis Neves
> > >
> > >
> > > -------------------------------------------------------
> > > This SF.NET email is sponsored by: Geek Gift Procrastinating?
> > > Get the perfect geek gift now!  Before the Holidays pass you by.
> > > 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
> >
> >
> > -------------------------------------------------------
> > This SF.NET email is sponsored by: Geek Gift Procrastinating?
> > Get the perfect geek gift now!  Before the Holidays pass you by.
> > 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
> >
>
>
>
>-------------------------------------------------------
>This SF.NET email is sponsored by: Geek Gift Procrastinating?
>Get the perfect geek gift now!  Before the Holidays pass you by.
>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 with e-mail virus protection service: 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_eliminateviruses_3mf



-------------------------------------------------------
This SF.NET email is sponsored by: Geek Gift Procrastinating?
Get the perfect geek gift now!  Before the Holidays pass you by.
T H I N K G E E K . C O M      http://www.thinkgeek.com/sf/