That's sounds great Musachy, where would I put this setting? 

Also, what version of Struts is this available in?

It would be great if it was mentioned in the "Performance Tuning" page.
http://cwiki.apache.org/WW/performance-tuning.html

Thanks,
Jason
 

-----Original Message-----
From: Musachy Barroso [mailto:[EMAIL PROTECTED] 
Sent: Monday, 24 September 2007 11:09 PM
To: Struts Users Mailing List
Subject: Re: [s2] Struts head tag KILLS (> 10s) page load time

It is a dojo/browser thing. All we can do is done already, if you set
cache="true" Struts 2 will use a custom build where only one file (which
will be cached) will be used.

musachy

On 9/24/07, Don Brown <[EMAIL PROTECTED]> wrote:
> Oh damn, why is that?  Cache is critical here.
>
> Don
>
> On 9/24/07, Musachy Barroso <[EMAIL PROTECTED]> wrote:
> > When a file is loaded using dojo.require, it is not cached by the
browser.
> >
> > musachy
> >
> > On 9/23/07, Jason Wyatt <[EMAIL PROTECTED]> wrote:
> > > Hi Martin,
> > >
> > > Yes, that's right.
> > >
> > > The dojo "requires" seemed unexpectedly slow during our tests. I 
> > > was using Firefox's Firebug to check page load times. From memory, 
> > > it looked like the dojo includes were being requested sequentially 
> > > and seemed to give substantial page loading overhead (>2s) even if 
> > > the dojo .js files were cached.
> > >
> > > I never fully understood why there was a large overhead although 
> > > the dojo files were supposedly cached. It might have been a quirk 
> > > with firebug and dojo "requires", or maybe the "requires" routine 
> > > itself is slow, when called
> > > 30+ times.
> > >
> > > About 5 dojo files were consistently returning "not found" as 
> > > well, which may not have helped the load times.
> > >
> > > Removing as much dojo stuff as I could, and upgrading from Struts 
> > > 2.0.8 to
> > > 2.0.9 has solved our page load time issues.
> > >
> > > Regards
> > > Jason
> > >
> > >
> > > -----Original Message-----
> > > From: Martin Gainty [mailto:[EMAIL PROTECTED]
> > > Sent: Friday, 21 September 2007 11:41 AM
> > > To: Struts Users Mailing List
> > > Subject: Re: [s2] Struts head tag KILLS (> 10s) page load time
> > >
> > > Hi Jason-
> > >
> > > so by attentuating dojo includes you decreased initial load time 
> > > for dojo with the beneficial side effect of faster response to the
browser?
> > >
> > > Thanks/
> > > Martin--
> > > ----- Original Message -----
> > > From: "Jason Wyatt" <[EMAIL PROTECTED]>
> > > To: "'Struts Users Mailing List'" <user@struts.apache.org>
> > > Sent: Thursday, September 20, 2007 9:09 PM
> > > Subject: RE: [s2] Struts head tag KILLS (> 10s) page load time
> > >
> > >
> > > >I had the same issue... We use the ajax tabbed panel but no other 
> > > >dojo  widgets, but the <s:head theme="ajax"> tag had dojo 
> > > >"requiring" all of the  dojo widget library.
> > > >
> > > > This was causing our page to fire off 70+ requests when loading. 
> > > > As our app needs to be accessed up to a thousand km away, tests 
> > > > showed initial load times of over 10s because of latency.
> > > >
> > > > I modified web\template\ajax\head.ftl to include a custom 
> > > > web\hack\ajax\dojoRequire.js that had the minimum dojo includes 
> > > > for the tabbed panels. This managed to get the number of 
> > > > requests down to around 30, mostly our own images and scripts, 
> > > > which gave acceptable load times.
> > > >
> > > > Eg.
> > > >
> > > > web\template\ajax\head.ftl:
> > > >
> > > > <#include
"/${parameters.templateDir}/${themeProperties.parent}/head.ftl"
> > > > />
> > > > <script type="text/javascript"
> > > >        src="<@s.url value='/hack/ajax/dojoRequire.js'
includeParams='none'
> > > > encode='false'  />"></script>
> > > > <script type="text/javascript"
> > > >        src="<@s.url value='/struts/CommonFunctions.js'
> > > > includeParams='none'
> > > > encode='false'/>"></script>
> > > >
> > > >
> > > > web\hack\ajax\dojoRequire.js:
> > > >
> > > > dojo.require("dojo.io.BrowserIO");
> > > > dojo.require("dojo.event.topic");
> > > >
> > > > dojo.hostenv.setModulePrefix('struts', 'struts'); 
> > > > //dojo.require('dojo.widget.*'); 
> > > > dojo.widget.manager.registerWidgetPackage('struts.widget');
> > > >
> > > > dojo.require("struts.widget.Bind");
> > > > dojo.require("struts.widget.BindDiv");
> > > > //dojo.require("struts.widget.BindAnchor");
> > > > //dojo.require("struts.widget.ComboBox");
> > > > //dojo.require("struts.widget.StrutsTimePicker")
> > > > //dojo.require("dojo.widget.Editor2");
> > > > //dojo.hostenv.writeIncludes(); // not needed, but allows the 
> > > > Venkman debugger to work with the includes
> > > >
> > > >
> > > > Hope this helps, regards
> > > > Jason
> > > >
> > > > -----
> > > > Falun Dafa  Truth - Compassion - Forbearance
> > > >
> > > > A mind & body practice under persecution in China
> > > >
> > > > http://www.faluninfo.net
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > -----Original Message-----
> > > > From: Frank W. Zammetti [mailto:[EMAIL PROTECTED]
> > > > Sent: Friday, 21 September 2007 8:09 AM
> > > > To: Struts Users Mailing List
> > > > Subject: Re: [s2] Struts head tag KILLS (> 10s) page load time
> > > >
> > > > If Dojo is being used for AJAX in this case, that's my guess.  I 
> > > > know from experience that Dojo, can issue a TON of requests even 
> > > > if you think your only loading a small portion of it.  Assuming 
> > > > this guess is correct, Musachy, does S2 use a custom build of 
> > > > Dojo?  If not, that might be worth considering.
> > > >
> > > > Frank
> > > >
> > > > --
> > > > Frank W. Zammetti
> > > > Founder and Chief Software Architect Omnytex Technologies 
> > > > http://www.omnytex.com
> > > > AIM/Yahoo: fzammetti
> > > > MSN: [EMAIL PROTECTED]
> > > > Author of "Practical Ajax Projects With Java Technology"
> > > >  (2006, Apress, ISBN 1-59059-695-1) and "JavaScript, DOM 
> > > > Scripting and Ajax Projects"
> > > >  (2007, Apress, ISBN 1-59059-816-4) Java Web Parts - 
> > > > http://javawebparts.sourceforge.net
> > > >  Supplying the wheel, so you don't have to reinvent it!
> > > >
> > > > chengas123 wrote:
> > > >> Hi,
> > > >> I am working on a Struts 2 page and page load times are way too
high.
> > > >> I tracked it down to the Struts head tag, which I have as follows:
> > > >> <s:head theme="ajax" /> Without the tag, my page issues 3 
> > > >> requests and takes 453ms to load.  With the tag, the page 
> > > >> issues 54 requests taking 12.24s to load.
> > > >> Is there something I am doing wrong here?
> > > >>
> > > >> Thanks,
> > > >> Ben
> > > >
> > > >
> > > > ----------------------------------------------------------------
> > > > ----- To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > > >
> > > >
> > > >
> > > > ----------------------------------------------------------------
> > > > ----- To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > > For additional commands, e-mail: [EMAIL PROTECTED]
> > > >
> > > >
> > >
> > >
> > > ------------------------------------------------------------------
> > > --- To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> > >
> > >
> > >
> > > ------------------------------------------------------------------
> > > --- To unsubscribe, e-mail: [EMAIL PROTECTED]
> > > For additional commands, e-mail: [EMAIL PROTECTED]
> > >
> > >
> >
> >
> > --
> > "Hey you! Would you help me to carry the stone?" Pink Floyd
> >
> > --------------------------------------------------------------------
> > - To unsubscribe, e-mail: [EMAIL PROTECTED]
> > For additional commands, e-mail: [EMAIL PROTECTED]
> >
> >
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
>
>


--
"Hey you! Would you help me to carry the stone?" Pink Floyd

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





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

Reply via email to