사용자 도구

사이트 도구


java:performance

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
java:performance [2018/03/06 15:38]
kwon37xi [32bit/64bit JVM]
java:performance [2018/03/06 15:39] (현재)
kwon37xi
줄 39: 줄 39:
   * [[http://​plumbr.eu/​blog/​increasing-heap-size-beware-of-the-cobra-effect|Increasing heap size – beware of the Cobra Effect]]   * [[http://​plumbr.eu/​blog/​increasing-heap-size-beware-of-the-cobra-effect|Increasing heap size – beware of the Cobra Effect]]
   * JVM Heap을 무한정 늘리면 Full GC 시간 증가로 인해 오히려 성능 병목이 될 수 있다.   * JVM Heap을 무한정 늘리면 Full GC 시간 증가로 인해 오히려 성능 병목이 될 수 있다.
-  * 32bit JVM을 사용하고 2~4GB 이하의 Heap 설정을 사용하는게 나을 수 있다. 
   * JVM의 Heap을 증가시키기 보다는 JVM을 여러 대 띄운다.   * JVM의 Heap을 증가시키기 보다는 JVM을 여러 대 띄운다.
   * JVM을 여러개 띄울 수 없다면,   * JVM을 여러개 띄울 수 없다면,
줄 51: 줄 50:
   * ''​-XX:​CompileThreshold''​ 가 그 횟수를 지정한다. 기본 1500이며, 너무 작게 주면 서버가 최초로 뜰 때, 컴파일하느라 너무 많은 시간을 소비한다. 따라서 애플리케이션에 따라 적정수를 지정해야 한다. 보통은 **100** 이상 정도가 적합하다 한다.   * ''​-XX:​CompileThreshold''​ 가 그 횟수를 지정한다. 기본 1500이며, 너무 작게 주면 서버가 최초로 뜰 때, 컴파일하느라 너무 많은 시간을 소비한다. 따라서 애플리케이션에 따라 적정수를 지정해야 한다. 보통은 **100** 이상 정도가 적합하다 한다.
   * ''​-server -XX:​+TieredCompilation''​ : Java 7, Multi Core 환경에서 이 옵션을 주면 native 컴파일 속도가 향상 된다.   * ''​-server -XX:​+TieredCompilation''​ : Java 7, Multi Core 환경에서 이 옵션을 주면 native 컴파일 속도가 향상 된다.
 +
 +===== Linux Tuning =====
 +  * [[linux:​performance|Linux Performance]]
 +  * 기본적으로 ''​swappiness=1''​로 스왑 가능성을 줄이고 file과 process 제약을 풀어준다.<​code>​
 +ulimit -n 32768 -u 32768
 +</​code>​
  
 ===== HashMap.get/​getEntry,​ WeakHashMap.get/​getEntry 에 대한 동시 접근은 CPU 사용률 증가(High 100%) 유발 ===== ===== HashMap.get/​getEntry,​ WeakHashMap.get/​getEntry 에 대한 동시 접근은 CPU 사용률 증가(High 100%) 유발 =====
java/performance.txt · 마지막으로 수정됨: 2018/03/06 15:39 저자 kwon37xi