当前位置 : 主页 > 网络安全 > 测试自动化 >

JSF性能调优

来源:互联网 收集:自由互联 发布时间:2021-06-22
我使用Mojara 2.0.3和PrimeFaces 2.2. 我已经在本主题中阅读了很多帖子并发现了一些非常好的建议(例如不要在getter中使用db调用等)并使用它们,但我们的应用程序仍然需要~3秒来呈现响应. 我测
我使用Mojara 2.0.3和PrimeFaces 2.2.

我已经在本主题中阅读了很多帖子并发现了一些非常好的建议(例如不要在getter中使用db调用等)并使用它们,但我们的应用程序仍然需要~3秒来呈现响应.

我测试了它,第6个生命周期(渲染阶段)是最大的资源消费者.我们主要使用内置或复合组件,我想知道用简单的html标签替换其中一些(主要用于设计而不使用任何功能)是好还是坏.

例如:
绝缘
    < p:outputPanel styleClass =“myClass”> …某些代码…< / p:outputPanel>

用这个

<div class="myClass">...some code...</div>

我们有数百个组件和数以千计的DOM元素的巨大视图,我可以成为渲染阶段的阻止程序.

编辑:

在我删除几乎所有“无用”组件后,我们经历了巨大的性能增长.响应时间和响应大小.平均响应时间从~3秒减少到~2.2秒.惊人…
所以结论是:少用,多得多:)

根据 Core Java Server Faces第1章,纯HTML(静态)在JSF标记的编码阶段之前传递.

如果你有一些不需要与Backing Bean交换的JSF标签,我怀疑你通过将静态数据限制在vanilla HTML中来享受小的性能提升.

JSF生命周期的编码和解码短语在Component mark-up和vanilla HTML之间进行转换.如果你正在使用一个组件来保存你不会在表上循环并填充行(例如)与< h:outputText>之类的东西,那么这对你来说是值得的.与< p>相比,它不使用ajax或绑定到支持bean. HTML元素.

简而言之,如果您不需要利用JSF充当Controller,请不要害怕在JSF文档中使用普通的旧HTML.

网友评论