문제

나는 최근에 실제 요청을 시작하기 전에 앱을 따뜻하게하는 (높은 처리량 요구 사항이있는) 시나리오에 대해 배웠습니다. 이것의 논리는 Jit가 성능 마술을 할 수 있도록하는 것이 었습니다!

이것은 Java 앱의 표준입니까, 아니면 일반적으로 메모리 무거운 (풋 프린트) 앱에 대해 수행됩니까?

도움이 되었습니까?

해결책

높은 트래픽 웹 앱/웹 사이트에 대해 이야기하고 있다면 JIT는 매우 작은 문제입니다. 가장 큰 문제는 필요한 모든 캐시 레이어를 데우고 (채우는) 것입니다. 예를 들어 최대 절전 모드에서 채워진 Ehcache 지역. IO 관련 작업은 CPU 내부에서 발생하는 일보다 훨씬 느린 순서이기 때문입니다 (즉, 프랙탈을 계산하지 않는 한 :)

다른 팁

문제는 언제 원하는지입니다 당신의 길에서 나가십시오 이것을하기 위해?

WebApp을 출시하고 즉시 라이브 인 경우 "온난화"하는 동안 추가로드를 추가하여 비생산적입니다. 데스크탑 앱이 시작될 때도 마찬가지입니다. 사용자가 즉시 사용하기 시작하면 온난화가 없습니다. 또는 더 나쁜 것은 앱을 따뜻하게하는 동안 사용자가 상호 작용할 수 없도록합니다.

로드 밸런서를 가리키기 전에 WebApp을 롤아웃하고 배포를 테스트하면 이미 측면 결과로 따뜻해졌습니다.

에 추가 Cherouvim의 대답, 워밍업이 필요한 몇 가지 다른 문제를 생각할 수 있습니다.

  • 물체 인스턴스화 (게으른 하중, 싱글 톤 등);
  • 힙 할당 (경우 Xms 당신보다 작습니다 Xmx).

OS가 응용 프로그램의 동작에도 적용되므로 OS 호출도 워밍업 기간의 영향을받을 수 있다고 생각합니다.

위의 대부분 (캐시 모집단, 객체 초기화)은 Java에만 국한되지 않습니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top