7 Replies Latest reply on Apr 28, 2009 10:21 AM by nbelaevski

    Render response Performance

    lmk

      Hi all,

      Im using <h:commandButton/> and a4j:support, for navigation. the page takes a long time to be rendered.
      the page contains
      1) panel grid
      2)3 rich:panels : each rich:panel contains many comboBox

      the code for navigation is:

      <rich:tab label="one" id="menu_tab"
       name="#{menu.OnetabName}" action="index" disabled="#{menu.disabledOne}">
      <h:commandButton value="Quick Search" action="search"
      styleClass="#{menu.viewUsersStyle}" immediate="true" disabled="#{menu.disabledSearch}">
      <a4j:support event="onclick"
       actionListener="#{menuManager.viewManageUsersControl}" ajaxSingle="true" process="menu_tab">
      </a4j:support>
      </h:commandButton>
      
      ..
      ..
      </rich:tab>
      


      JSF phases trace:
      INFO com.BasePhaseListener 2009-04-27 16:19:28,883 - BEFORE RESTORE_VIEW(1)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,883 - BEFORE RESTORE_VIEW(1)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,945 - AFTER RESTORE_VIEW(1)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,945 - BEFORE APPLY_REQUEST_VALUES(2)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,961 - AFTER APPLY_REQUEST_VALUES(2)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,961 - BEFORE RENDER_RESPONSE(6)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,976 - AFTER RESTORE_VIEW(1)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,976 - BEFORE APPLY_REQUEST_VALUES(2)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,976 - AFTER APPLY_REQUEST_VALUES(2)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,976 - BEFORE RESTORE_VIEW(1)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,976 - AFTER RESTORE_VIEW(1)
      INFO com.BasePhaseListener 2009-04-27 16:19:28,976 - BEFORE RENDER_RESPONSE(6)
      INFO com.BasePhaseListener 2009-04-27 16:19:29,445 - AFTER RENDER_RESPONSE(6)
      INFO com.BasePhaseListener 2009-04-27 16:19:30,258 - AFTER RENDER_RESPONSE(6)
      


      Can you give me some advises to improve render page..

      Best regards!




        • 1. Re: Render response Performance
          nbelaevski

          Hello,

          First of all, please try to remove nested a4j:support from h:commandButton. This combination leads to two parallel requests (as you can see in phase tracker log) and is not correct. You can use a4j:commandButton instead.

          • 2. Re: Render response Performance
            lmk

            I changed h:commandButton to a4j:commandButton, and it still takes more than 2 secondes

            INFO com.BasePhaseListener 2009-04-28 14:46:42,988 - BEFORE RESTORE_VIEW(1)
            INFO com.BasePhaseListener 2009-04-28 14:46:43,003 - AFTER RESTORE_VIEW(1)
            INFO com.BasePhaseListener 2009-04-28 14:46:43,003 - BEFORE APPLY_REQUEST_VALUES(2)
            INFO com.BasePhaseListener 2009-04-28 14:46:43,019 - AFTER APPLY_REQUEST_VALUES(2)
            INFO com.BasePhaseListener 2009-04-28 14:46:43,035 - BEFORE RESTORE_VIEW(1)
            INFO com.BasePhaseListener 2009-04-28 14:46:43,035 - AFTER RESTORE_VIEW(1)
            INFO com.BasePhaseListener 2009-04-28 14:46:43,035 - BEFORE RENDER_RESPONSE(6)
            INFO com.BasePhaseListener 2009-04-28 14:46:44,347 - AFTER RENDER_RESPONSE(6)


            • 3. Re: Render response Performance
              nbelaevski

              Ok, just to clarify: you have single a4j:commandButton and no a4j:support inside of it, right?

              You can try changing parsers: http://www.jboss.org/file-access/default/members/jbossrichfaces/freezone/docs/devguide/en/html/ArchitectureOverview.html#FilterConfiguration; Tidy (the slowest one) is used by default. Try NEKO or NONE

              • 4. Re: Render response Performance
                lmk

                No I know, I never use a4j:support inside a4j:commandButton..

                <a4jcommandButton value="Quick Search" action="search"
                styleClass="#{menu.viewUsersStyle}"
                immediate="true" disabled="#{menu.disabledSearch}"
                actionListener="#{menuManager.viewManageUsersControl}" process="menu_tab"/>






                • 5. Re: Render response Performance
                  nbelaevski

                  That's right. Please try changing parsers then.

                  • 6. Re: Render response Performance
                    lmk

                     

                    "nbelaevski" wrote:
                    That's right. Please try changing parsers then.


                    it's what Im doing

                    <context-param>
                     <param-name>org.ajax4jsf.xmlparser.ORDER</param-name>
                     <param-value>NONE,NEKO,TIDY</param-value>
                     </context-param>
                    
                     <context-param>
                     <param-name>org.ajax4jsf.xmlparser.NEKO</param-name>
                     <param-value>/query.xhtml,/result.xhtml</param-value>
                     </context-param>


                    it's that enough ou should I add ohter parameter?


                    • 7. Re: Render response Performance
                      nbelaevski

                      Dot ('.') should be escaped, as parameter value is interpreted as regular expression. Also you can configure parsers order without specifying org.ajax4jsf.xmlparser.NEKO parameter; org.ajax4jsf.xmlparser.ORDER is applied to all views by default.