Shashi wrote:
>Hi All - We have built a J2EE application with JSF (MyFaces, Ajax4JSF) ,Spring 
>and IBatis. What we find is, each of the screen takes lot of time to >load. We 
>find no performance issue with Spring or Ibatis (after verifying via 
>JProfiler). Jprofiler shows the JVM memory is occupied b JSF objects. I >found 
>that the screen loading is taking time for two reasons.
>1.The JSF screens (which has cook menu) take time to load.
>2.The overall screen painting in the browser takes time to load.
>Our JSF screens are not too complicated and even the simplest screen takes 
>time to load. Note that each of the screens always loads JSCookMenu. We 
>>visited apache site for tuning JSF. As per their suggestion we did the 
>following
>1. We set the State saving mechanism as server side.
>2. Serialization of session objects was set to false.
>3. Compression of objects was set to false.
>4. Streaming Add Resource and t:documentHead were added.
>But none of these improved the performance.
>The overall screen takes time and I'm wondering if we should do effective 
>caching of images,CSS and js files. I visited plenty of websites and tried to 
>>move all these client specific files under the <head> tag, loaded the images 
>via CSS but nothing helps. We have high capacity machines and I dont >think 
>desktop config is playing a role.
>We thought the problem could be bcos of network traffic or slow performance of 
>underlying platform websphere server. We checked other application >running in 
>the same envrironment and they are extremely fast. The only difference b/n our 
>application and the other is JSF.
>I'm short of solutions. Any valuable input will be greatly appreciated.


You might want to check on the following:

1.       Utilize HttpAnalyzer or any other similar tool to check what is the 
response received for every action. Since you have used Ajax in your page you 
need to check the response that you are getting back on each ajax call and 
whether it is only what should be returned.

2.       There are some optimizations that are listed on Ajax4Jsf site which in 
past has proven to be the guilty party for performance related issues.

3.       Check what is the size of the response. If the page is too large then 
you can consider introducing a gzipfilter to compress the response and thereby 
reducing the network bandwidth usage.

4.       Check if objects are not getting released. Some of the Ajax4Jsf 
components like a4j:keepAlive keep the objects in memory for longer period than 
expected.

5.       Also checked if there are too many session scoped beans and thereby 
slowly adding to memory usage and eventually affecting everything.

6.       There are other parameters in myfaces configuration like number of 
views in session. Try changing that as well.

7.       Check if the page is not heavy with different types of content 
(images, audio/video etc..). Go for incremental loading.

Thanks,
Madhav

Reply via email to