We also ran into problems with single JSPs containing lots of bm
(bean:message) and bw (bean:write) tags.  We wrote our own custom tag that
did not involve Struts, and found similar behavior using the Sun vm under
both Tomcat and Weblogic on NT boxes (lousy performace with a bunch of them
in one page - much better with same number of tags split up over several
pages).  When we swapped out to the IBM vm, the discrepancy in performance
went away - both styles reasonably fast.  To get significant numbers
(orders of magnitude difference in performance) we went to thousands of
tags, by the way.

We took lots of statistics and made a lot of posts on newsgroups, and never
really got any good explanation from anyone.  Interestingly, when we turned
profiling flags on in the sun vm to try to track what was going on, the
symptoms went away.

We experimented with try/catch blocks (manually editing generated servlet
code to drastically reduce them), since there were some known performance
bugs at the time against the sun vm regarding tc blocks.  This had no
effect, and we didn't really expect any, since the bugs had to do with
nested tcs rather than lots in serial.

In the end our solution was just to be careful about the size of the JSPs,
since our client could not go to the IBM vm.

Jim


                                                                                       
                                              
                      "Joe Barefoot"                                                   
                                              
                      <jbarefoot@sbcglo        To:       "Struts Users Mailing List" 
<[EMAIL PROTECTED]>                
                      bal.net>                 cc:                                     
                                              
                                               Subject:  RE: Improving performance by 
splitting JSP?                                 
                      09/08/2002 07:21                                                 
                                              
                      PM                                                               
                                              
                      Please respond to                                                
                                              
                      "Struts Users                                                    
                                              
                      Mailing List"                                                    
                                              
                                                                                       
                                              
                                                                                       
                                              




Wow. I dunno, but here's a guess (you could look at the code generated to
get a better idea if this is a contributing factor):

Since each JSP compiles down to a single method call in the generated
source
class, and (depending on how the JSP compiler generates Java source) each
custom tag could potentially have its own try/catch block as well as
several
local variables, the more 'stuff' you have on a single page correlates to
the amount of stack memory required for the local scope of the method call.

I imagine that the overhead for the much larger (single page) method call
would hinder perfomance *somewhat*, but if splitting it up increases speed
that much, there must be something else awry here.

peace,
Joe


-----Original Message-----
From: gus [mailto:[EMAIL PROTECTED]]
Sent: Saturday, September 07, 2002 7:15 AM
To: [EMAIL PROTECTED]
Subject: Improving performance by splitting JSP?


Hi!

I had a performance problem in my struts application where one JSP
page took about 5 secs to display (Tomcat 4.0.4, Struts 1.1b1, Win2k,
PIII 500, 512Mb). The page uses struts taglibs (bean, logic, html) and
is nearly 300 lines long.

I tried to track down the problem but with no luck. Finally I split
the page into 3 parts using <jsp:include ...> and now the whole page
loads 5 times faster.

Does anybody made the same experience and/or has an explanation for
that behaviour?

Regards
    gus



--
To unsubscribe, e-mail:
<mailto:[EMAIL PROTECTED]>
For additional commands, e-mail:
<mailto:[EMAIL PROTECTED]>


--
To unsubscribe, e-mail:   <
mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <
mailto:[EMAIL PROTECTED]>







--
To unsubscribe, e-mail:   <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>

Reply via email to