3

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

目前收集到的一些tips

特立尼达

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

我的脸

  • 在 web.xml 中将以下初始化参数设置为 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 参数中减少 org.apache.myfaces.NUMBER_OF_VIEWS_IN_SESSION 的值(默认为 20)

小面

  • 在 web.xml 中将以下初始化参数设置为 false
    • facelets.开发
    • facelets.SKIP_COMMENTS
  • 将 facelets.BUFFER_SIZE 和 com.sun.faces.responseBufferSize 设置为较大的值,例如 10000000
  • 将 facelets.REFRESH_PERIOD 设置为 -1

还有什么要补充的吗?

4

2 回答 2

2

Moving to Stateless JSF would offer a great performance boost. Now it's possible to use JSF entirely stateless. See this blog & this issue. A payoff is that you can't create views dynamically (e.g. by binding, JSTL tags, etc), nor manipulate it after creation.


A Stateless JSF operation mode would be incredibly useful for high-load applications and architectures:

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

This has previously been suggested by Jacob: http://weblogs.java.net/blog/jhook/archive/2006/01/experiment_goin.html

This would help JSF ditch the stigma of "slow and memory hog," and help keep up with current tech trends (stateless architectures.)

于 2012-05-08T12:20:27.090 回答
1

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

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

于 2011-07-08T09:55:08.847 回答