3 Replies Latest reply on Dec 28, 2008 4:26 PM by Dylan Janeke

    Strange Seam performance behaviour

    holgerprause Newbie

      Hello


      i am using jboss-seam-2.1.1.GA, richfaces-ui-3.2.2.SR1 and facelets facelets-1.1.14
      and jboss-4.2.3.GA


      I got performance problems when having a folder with a lot of javascript inside(its not referenced in the view!).


      To show the problem:
      1) Create a simpe bean



      @Scope(ScopeType.SESSION)
      @Name("performanceTestBean")
      public class PerformanceTestBean {
           public String doAction() {
                return null;
           }
      }



      2) Create a view to call that bean


      <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
      <html xmlns="http://www.w3.org/1999/xhtml"
            xmlns:h="http://java.sun.com/jsf/html"
             xmlns:f="http://java.sun.com/jsf/core"
             xmlns:ui="http://java.sun.com/jsf/facelets"
             xmlns:a4j="https://ajax4jsf.dev.java.net/ajax"
             xmlns:c="http://java.sun.com/jstl/core"
             xmlns:rich="http://richfaces.org/rich"
             style="height:100%;">       
      <head>
      </head>
           <body style="margin: 0; padding: 0;">
                <h:form>
                     <a4j:commandLink value="test"
                                action="#{performanceTestBean.doAction}"
                                ajaxSingle="true"
                                limitToList="true"
                                reRender="nothing">
                     </a4j:commandLink>
                </h:form>
           </body>     
      </html>




      If u click on that link and look in firebug the ajax requestwill be around 50ms which is great!



      Now do the following:


      create a folder called javascript(name is not important) and copy a lot of javascript libraries inside there.
      (15 mb is enough)
      Redeploy the application and click on the link in the view again


      Now the ajaxRequest wil take about 1,2 second.



      I verified this is related to seam becourse with a plain richaces / jsf application
      this effect doesnt occur.


      I also noticed when the number auf xhtml files increases the performance also slows down
      If u copy xhtml file instead of js file in that folder.


      In general u can say when the number of xhtml file increase your perfomance slows down.
      If u copy binary files(for example movies) in that folder, the  performance is not affected.


      Can you help me with that please?
      In the mean time i try to keep everthing small as possible.