-
1. Re: Page takes too long to load
mgrouch Aug 23, 2007 7:29 PM (in response to mgrouch)Here is a timeline of one request
2007-08-23 19:12:40,160 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process before phase RESTORE_VIEW 1
2007-08-23 19:12:40,160 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: RESTORE_VIEW 1
2007-08-23 19:12:40,160 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] beginning transaction prior to phase: RESTORE_VIEW 1
2007-08-23 19:12:40,176 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: RESTORE_VIEW 1
2007-08-23 19:12:40,222 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process after phase RESTORE_VIEW 1
2007-08-23 19:12:40,222 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process before phase APPLY_REQUEST_VALUES 2
2007-08-23 19:12:40,222 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: APPLY_REQUEST_VALUES 2
2007-08-23 19:12:41,254 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: APPLY_REQUEST_VALUES 2
2007-08-23 19:12:41,254 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process after phase APPLY_REQUEST_VALUES 2
2007-08-23 19:12:41,254 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process before phase PROCESS_VALIDATIONS 3
2007-08-23 19:12:41,254 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: PROCESS_VALIDATIONS 3
2007-08-23 19:12:41,472 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: PROCESS_VALIDATIONS 3
2007-08-23 19:12:41,472 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process after phase PROCESS_VALIDATIONS 3
2007-08-23 19:12:41,472 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process before phase UPDATE_MODEL_VALUES 4
2007-08-23 19:12:41,472 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: UPDATE_MODEL_VALUES 4
2007-08-23 19:12:41,551 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: UPDATE_MODEL_VALUES 4
2007-08-23 19:12:41,551 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process after phase UPDATE_MODEL_VALUES 4
2007-08-23 19:12:41,551 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process before phase INVOKE_APPLICATION 5
2007-08-23 19:12:41,551 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: INVOKE_APPLICATION 5
2007-08-23 19:12:41,566 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: INVOKE_APPLICATION 5
2007-08-23 19:12:41,566 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] committing transaction after phase: INVOKE_APPLICATION 5
2007-08-23 19:12:41,582 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process after phase INVOKE_APPLICATION 5
2007-08-23 19:12:41,582 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process before phase RENDER_RESPONSE 6
2007-08-23 19:12:41,582 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] before phase: RENDER_RESPONSE 6
2007-08-23 19:12:41,582 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] beginning transaction prior to phase: RENDER_RESPONSE 6
2007-08-23 19:12:45,504 DEBUG [org.jboss.seam.jsf.SeamPhaseListener] after phase: RENDER_RESPONSE 6
2007-08-23 19:12:45,519 DEBUG [org.jboss.seam.jsf.AbstractSeamPhaseListener] committing transaction after phase: RENDER_RESPONSE 6
2007-08-23 19:12:45,535 DEBUG [org.jboss.seam.contexts.Contexts] destroying: teamdev.jsf.util.AjaxRequestsPhaseListener:phase_passed:4
2007-08-23 19:12:45,535 DEBUG [org.jboss.seam.contexts.Contexts] destroying: teamdev.jsf.util.AjaxRequestsPhaseListener:phase_passed:1
2007-08-23 19:12:45,535 DEBUG [org.jboss.seam.contexts.Contexts] destroying: teamdev.jsf.util.AjaxRequestsPhaseListener:phase_passed:3
2007-08-23 19:12:45,535 DEBUG [org.jboss.seam.contexts.Contexts] destroying: teamdev.jsf.util.AjaxRequestsPhaseListener:phase_passed:2
2007-08-23 19:12:45,535 DEBUG [org.jboss.seam.contexts.Contexts] destroying: teamdev.jsf.util.AjaxRequestsPhaseListener:phase_passed:5
2007-08-23 19:12:45,535 DEBUG [org.jboss.seam.contexts.Contexts] destroying: teamdev.jsf.util.AjaxRequestsPhaseListener:phase_passed:6
2007-08-23 19:12:45,535 DEBUG [org.ajax4jsf.framework.renderer.AjaxPhaseListener] Process after phase RENDER_RESPONSE 62007-08-23 19:12:46,285 DEBUG [org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter] Parsing html total time 672ms
2007-08-23 19:12:46,285 DEBUG [org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter] Finished request processing total time 6141ms for uri: -
2. Re: Page takes too long to load
bytor99999 Aug 24, 2007 12:33 AM (in response to mgrouch)How about lowering your Seam logging level? :) to just show INFO messages. or turn off Seam logging. I know that Seam does a lot of logging and that definitely will slow things down. I have seen the same thing, it kind of amazes me how much. I thought my app was really slow, but I just changed the log level of Seam and it is now extremely fast, even faster than I expected it to be.
-
3. Re: Page takes too long to load
kosiakk Aug 24, 2007 4:09 AM (in response to mgrouch)Double-check your *.page.xml
xmlns and xsi:schemaLocation should be set very carefully.
For example:<page xmlns="http://jboss.com/products/seam/pages" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://jboss.com/products/seam/pages http://jboss.com/products/seam/pages-2.0.xsd"
If xsd for namespace http://jboss.com/products/seam/pages would'n be found in LIBs, then xml-processor will download it from http://jboss.com/products/seam/pages-2.0.xsd, each time!!
You can check your firewall log -
4. Re: Page takes too long to load
mgrouch Aug 24, 2007 8:29 AM (in response to mgrouch)I've tried turning off DEBUG level. It doesn't make much difference in performance (although my log files are much smaller now).
I've checked XSDs and that's not the problem too.
I'm using server side state saving.
Why APPLY_REQUEST_VALUES takes about 1 sec
and
org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter spends ~sec parsing?
Thanks -
5. Re: Page takes too long to load
mail.micke Aug 24, 2007 9:12 AM (in response to mgrouch)Have you tried:
<filter> <display-name>org.ajax4jsf.FastFilter</display-name> <filter-name>ajax4jsf</filter-name> <filter-class>org.ajax4jsf.FastFilter</filter-class> </filter>
From the docs:
This filter is based on the Nekko pacer. In this case an output xhtml code isn't strictly verified and it also could cause lot's of errors and corrupt a layout as a result. Though if you sure that your application markup is really strict for this filter, the filter considerably accelerates all AJAX requests processing.
http://labs.jboss.com/file-access/default/members/jbossajax4jsf/freezone/docs/devguide/en/html_single/index.html -
6. Re: Page takes too long to load
mgrouch Aug 24, 2007 5:13 PM (in response to mgrouch)Ajax4Jsf FastFilter doesn't work for me. I get this exception:
[java] java.lang.NullPointerException [java] at org.ajax4jsf.xml.serializer.ToXHTMLStream.endElement(ToXHTMLStream.java:967) [java] at org.apache.xerces.parsers.AbstractSAXParser.endElement(Unknown Source) [java] at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:249) [java] at org.cyberneko.html.filters.Purifier.endElement(Purifier.java:311) [java] at org.cyberneko.html.filters.DefaultFilter.endElement(DefaultFilter.java:249) [java] at org.ajax4jsf.framework.ajax.xmlfilter.nekko.HtmlCorrectionFilter.insertEndElement(HtmlCorrectionFilter.java:78) [java] at org.ajax4jsf.framework.ajax.xmlfilter.nekko.HtmlCorrectionFilter$TableHtmlCorrectionState.startElement(HtmlCorrectionFilte r.java:136) [java] at org.ajax4jsf.framework.ajax.xmlfilter.nekko.HtmlCorrectionFilter.startElement(HtmlCorrectionFilter.java:62) [java] at org.cyberneko.html.filters.DefaultFilter.startElement(DefaultFilter.java:179) [java] at org.ajax4jsf.framework.ajax.xmlfilter.nekko.NekkoParser$ViewStateFilter.startElement(NekkoParser.java:327) [java] at org.cyberneko.html.filters.DefaultFilter.startElement(DefaultFilter.java:179) [java] at org.cyberneko.html.filters.NamespaceBinder.startElement(NamespaceBinder.java:286) [java] at org.cyberneko.html.HTMLTagBalancer.callStartElement(HTMLTagBalancer.java:1009) [java] at org.cyberneko.html.HTMLTagBalancer.startElement(HTMLTagBalancer.java:639) [java] at org.cyberneko.html.HTMLScanner$ContentScanner.scanStartElement(HTMLScanner.java:2407) [java] at org.cyberneko.html.HTMLScanner$ContentScanner.scan(HTMLScanner.java:1881) [java] at org.cyberneko.html.HTMLScanner.scanDocument(HTMLScanner.java:809) [java] at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:478) [java] at org.cyberneko.html.HTMLConfiguration.parse(HTMLConfiguration.java:431) [java] at org.apache.xerces.parsers.XMLParser.parse(Unknown Source) [java] at org.apache.xerces.parsers.AbstractSAXParser.parse(Unknown Source) [java] at org.ajax4jsf.framework.ajax.xmlfilter.nekko.NekkoParser.parseSAXSource(NekkoParser.java:193) [java] at org.ajax4jsf.framework.ajax.xmlfilter.nekko.NekkoParser.parseHtml(NekkoParser.java:213) [java] at org.ajax4jsf.framework.ajax.xmlfilter.FilterServletResponseWrapper.parseContent(FilterServletResponseWrapper.java:613) [java] at org.ajax4jsf.framework.ajax.xmlfilter.BaseXMLFilter.doXmlFilter(BaseXMLFilter.java:271) [java] at org.ajax4jsf.framework.ajax.xmlfilter.BaseFilter.doFilter(BaseFilter.java:277) [java] at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:235)
-
7. Re: Page takes too long to load
mgrouch Aug 26, 2007 12:05 AM (in response to mgrouch)More info about similar performance issue in this JIRA
http://jira.jboss.com/jira/browse/RF-726