jsf应用程序性能改进提示

时间:2011-07-01 16:09:06

标签: performance jsf java-ee facelets myfaces

如何提高基于jsf myfaces的应用程序的性能?

到目前为止我收集的一些提示

特立尼达

  • 在web.xml中将以下init参数设置为false
    • org.apache.myfaces.trinidad.DEBUG_JAVASCRIPT
    • org.apache.myfaces.trinidad.DISABLE_CONTENT_COMPRESSION
    • org.apache.myfaces.trinidad.CHECK_FILE_MODIFICATION
  • 使用客户端状态保存
  • 不使用时清除页面流上下文映射

MyFaces的

  • 在web.xml中将以下init参数设置为false
    • org.apache.myfaces.COMPRESS_STATE_IN_SESSION
    • org.apache.myfaces.SERIALIZE_STATE_IN_SESSION
    • org.apache.myfaces.PRETTY_HTML
    • org.apache.myfaces.VALIDATE
  • 从init param减少org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION的值(默认为20)

小面

  • 在web.xml中将以下init参数设置为false
    • facelets.DEVELOPMENT
    • facelets.SKIP_COMMENTS
  • 将facelets.BUFFER_SIZE和com.sun.faces.responseBufferSize设置为大值,如10000000
  • 将facelets.REFRESH_PERIOD设置为-1

还有什么要补充的吗?

2 个答案:

答案 0 :(得分:2)

转移到无状态 JSF将提供出色的性能提升。现在可以完全无状态地使用JSF。见this blog& this issue。一个好处是你无法动态创建视图(例如通过绑定,JSTL标签等),也不能在创建后对其进行操作。


  

无状态JSF操作模式   对于高负载应用程序来说非常有用   架构:

     

https://web.archive.org/web/20140626062226/http://industrieit.com/blog/2011/11/stateless-jsf-high-performance-zero-per-request-memory-overhead/#comment-4

     

雅各布此前曾建议:   http://weblogs.java.net/blog/jhook/archive/2006/01/experiment_goin.html

     

这将有助于JSF放弃“慢速和记忆力”的耻辱,并且   帮助跟上当前的技术趋势(无状态架构。)

答案 1 :(得分:1)

遇到以下链接。如果您使用基于ADF(现在是MyFaces Trinidad)的实现,将会很有用。

http://download.oracle.com/docs/cd/B31017_01/web.1013/b28967/web_getstarted006.htm