【问题标题】:jsf application performance improvement tipsjsf应用性能提升小技巧
【发布时间】:2023-03-19 16:39:01
【问题描述】:

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

到目前为止我收集的一些技巧

特立尼达

  • 在 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

还有什么要补充的吗?

【问题讨论】:

    标签: performance jsf jakarta-ee facelets myfaces


    【解决方案1】:

    迁移到 Stateless JSF 会极大地提升性能。现在可以完全无状态地使用 JSF。请参阅this blogthis 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

    Jacob 之前曾建议过: http://weblogs.java.net/blog/jhook/archive/2006/01/experiment_goin.html

    这将有助于 JSF 摆脱“慢吞吞”的污名,并且 帮助跟上当前的技术趋势(无状态架构)。

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 2012-07-13
        • 2021-06-06
        • 2011-07-12
        • 2014-06-17
        • 2010-12-14
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多