저는 PrimeFaces 2.2에서 Mojara 2.0.3을 사용합니다.JSF 성능 튜닝
나는 이미이 주제에서 많은 게시물을 읽었으며 getters 등에서 db 호출을 사용하지 않는 것과 같은 유용한 제안을 발견했지만이를 사용하기 위해 ~ 3 초가 필요하다. 응답.
테스트를 거쳤으며 여섯 번째 라이프 사이클 (렌더링 단계)이 가장 큰 리소스 소비자입니다. 우리는 주로 빌트인 또는 컴포지트 구성 요소를 사용하고 있으며 간단한 html 태그를 사용하여 일부 기능 (대개 기능을 사용하지 않고 디자인에 사용됨)을 대체하는 것이 좋거나 나쁘다는 것이 궁금합니다. 예를 들어
: 사용 <p:outputPanel styleClass="myClass">...some code...</p:outputPanel>
의 Insted이
<div class="myClass">...some code...</div>
우리는 수백 가지의 구성 요소 및 DOM 요소의 수천 거대한 전망이, 그리고 난 렌더링에서 차단 될 수 있습니다 단계.
편집:
나는 거의 모든 "쓸모없는"구성 요소를 제거한 후, 우리는 엄청난 성능의 성장을 경험했다. 응답 시간과 응답 크기 모두. 평균 응답 시간은 ~ 3 초에서 ~ 2.2 초로 단축되었습니다. 놀라운 ... 결론은 다음과 같습니다. less less, more :
렌더링 단계에서 정확히 무엇이 가장 오래 걸리는지 확인하기 위해 프로파일 링을 한 적이 있습니까? – wrschneider
실제는 아닙니다. 무엇을 프로파일해야합니까? – Tushee
은 CPU 샘플링과 함께 jvisualvm과 같은 것을 사용하여 특정 메소드가 가장 오래 걸리는 것을 확인합니다. javax.faces.view.facelets.DelegatingMetaTagHandler.apply() javax.faces.component.UIComponentBase.publishAfterViewEvents() javax.faces.component.UIComponentBase : 그래서 여기에 목록의 상단입니다) – wrschneider