Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/jsf/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Performance JSF标记ui:重复导致高CPU利用率_Performance_Jsf_Uirepeat_Jboss Eap 6 - Fatal编程技术网

Performance JSF标记ui:重复导致高CPU利用率

Performance JSF标记ui:重复导致高CPU利用率,performance,jsf,uirepeat,jboss-eap-6,Performance,Jsf,Uirepeat,Jboss Eap 6,我们使用一个应用程序(使用JSF2(Mojara)),它有一些使用ui:repeat标记的大页面,并且已经部署在JBoss EAP 6.0版本上。最近,在性能测试期间,我们一直面临着非常高的CPU利用率,线程转储表明UIRepeat可能是原因。我们已将其中一个线程转储的跟踪放在下面,该线程转储是可疑的,占用了90%以上的CPU: 这方面的任何帮助都将是巨大的 "ajp-/10.138.51.32:8209-9" daemon prio=10 tid=0x00007fa3cc2a3800 nid=

我们使用一个应用程序(使用JSF2(Mojara)),它有一些使用ui:repeat标记的大页面,并且已经部署在JBoss EAP 6.0版本上。最近,在性能测试期间,我们一直面临着非常高的CPU利用率,线程转储表明UIRepeat可能是原因。我们已将其中一个线程转储的跟踪放在下面,该线程转储是可疑的,占用了90%以上的CPU:

这方面的任何帮助都将是巨大的

"ajp-/10.138.51.32:8209-9" daemon prio=10 tid=0x00007fa3cc2a3800 nid=0x52a6 runnable [0x00007fa3fa0d9000]
   java.lang.Thread.State: RUNNABLE
    at com.sun.faces.el.DemuxCompositeELResolver._getValue(DemuxCompositeELResolver.java:176)
    at com.sun.faces.el.DemuxCompositeELResolver.getValue(DemuxCompositeELResolver.java:203)
    at org.apache.el.parser.AstIdentifier.getValue(AstIdentifier.java:72)
    at org.apache.el.parser.AstValue.getValue(AstValue.java:147)
    at org.apache.el.ValueExpressionImpl.getValue(ValueExpressionImpl.java:189)
    at com.sun.faces.facelets.el.ELText$ELTextVariable.toString(ELText.java:217)
    at com.sun.faces.facelets.el.ELText$ELTextComposite.toString(ELText.java:157)
    at com.sun.faces.facelets.compiler.AttributeInstruction.write(AttributeInstruction.java:89)
    at com.sun.faces.facelets.compiler.UIInstructions.encodeBegin(UIInstructions.java:82)
    at com.sun.faces.facelets.compiler.UILeaf.encodeAll(UILeaf.java:183)
    at com.sun.faces.facelets.component.RepeatRenderer.encodeChildren(RepeatRenderer.java:104)
    at com.sun.faces.facelets.component.UIRepeat.process(UIRepeat.java:523)
    at com.sun.faces.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:984)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at com.sun.faces.facelets.component.RepeatRenderer.encodeChildren(RepeatRenderer.java:104)
    at com.sun.faces.facelets.component.UIRepeat.process(UIRepeat.java:523)
    at com.sun.faces.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:984)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at com.sun.faces.facelets.component.RepeatRenderer.encodeChildren(RepeatRenderer.java:104)
    at com.sun.faces.facelets.component.UIRepeat.process(UIRepeat.java:523)
    at com.sun.faces.facelets.component.UIRepeat.encodeChildren(UIRepeat.java:984)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1782)
    at javax.faces.render.Renderer.encodeChildren(Renderer.java:168)
    at javax.faces.component.UIComponentBase.encodeChildren(UIComponentBase.java:845)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at com.sun.faces.context.PartialViewContextImpl$PhaseAwareVisitCallback.visit(PartialViewContextImpl.java:518)
    at com.sun.faces.component.visit.PartialVisitContext.invokeVisitCallback(PartialVisitContext.java:183)
    at javax.faces.component.UIForm.visitTree(UIForm.java:381)
    at javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
    at javax.faces.component.UIComponent.visitTree(UIComponent.java:1623)
    at com.sun.faces.context.PartialViewContextImpl.processComponents(PartialViewContextImpl.java:376)
    at com.sun.faces.context.PartialViewContextImpl.processPartial(PartialViewContextImpl.java:297)
    at javax.faces.component.UIViewRoot.encodeChildren(UIViewRoot.java:981)
    at javax.faces.component.UIComponent.encodeAll(UIComponent.java:1779)
    at com.sun.faces.application.view.FaceletViewHandlingStrategy.renderView(FaceletViewHandlingStrategy.java:391)
    at com.sun.faces.application.view.MultiViewHandler.renderView(MultiViewHandler.java:125)
    at javax.faces.application.ViewHandlerWrapper.renderView(ViewHandlerWrapper.java:288)
    at org.apache.myfaces.tomahawk.application.ResourceViewHandlerWrapper.renderView(ResourceViewHandlerWrapper.java:169)
    at com.sun.faces.lifecycle.RenderResponsePhase.execute(RenderResponsePhase.java:121)
    at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
    at com.sun.faces.lifecycle.LifecycleImpl.render(LifecycleImpl.java:139)
    at javax.faces.webapp.FacesServlet.service(FacesServlet.java:594)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:329)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
    at org.apache.myfaces.webapp.filter.ExtensionsFilter.doFilter(ExtensionsFilter.java:357)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:280)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:248)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:275)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:161)
    at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.event(JBossWebContext.java:67)
    at org.jboss.modcluster.container.jbossweb.JBossWebContext$RequestListenerValve.invoke(JBossWebContext.java:48)
    at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:153)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:155)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:368)
    at org.apache.coyote.ajp.AjpProcessor.process(AjpProcessor.java:505)
    at org.apache.coyote.ajp.AjpProtocol$AjpConnectionHandler.process(AjpProtocol.java:452)
    at org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:931)
    at java.lang.Thread.run(Thread.java:662)
   Locked ownable synchronizers:
    - None

哪种莫哈拉版本?试过最新的吗?在2.1.24中有一些主要的性能修复,现在已经是2.1.26了。嗨,mate,谢谢你的快速回复。在我的本地Windows环境中,我们使用版本为jsf-impl-2.0.3-b5.jar的Mojara faces。但是,我们使用JBoss EAP 6.0在RedHat Linux环境上运行了性能测试,发现使用的JSF版本是JSF-api-1.2_15-b01-RedHat-1.jar。我们可以在Linux中升级EAP6.0中的jsf版本吗?如果可以,那么这个过程只是下载最新的jar并放置它吗?嗨,BalusC,我们已经按照您在EAP6.0(RH Linux)上的建议将jsf版本更新为2.1.26。我们运行了一个100用户的测试,与以前使用旧版本的JSFJARS运行相比,性能要好得多。谢谢你的建议。我们也按照您的一份文档执行升级-。总体而言,测试期间CPU利用率仍在85%左右,测试后降至5%。不确定这是否为ExpectedId您是否将facelets刷新周期设置为-1?不,尚未设置此属性。我一定会试试这个。