Strange Seam performance behaviour
holgerprause Dec 26, 2008 9:55 PMHello
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.