사용자 도구

사이트 도구


java:performance

Java Performance

Java World Java Performance Series

JVM의 Heap을 무한정 늘리지 말 것

  • JVM Heap을 무한정 늘리면 Full GC 시간 증가로 인해 오히려 성능 병목이 될 수 있다.
  • JVM의 Heap을 증가시키기 보다는 JVM을 여러 대 띄운다.
  • JVM을 여러개 띄울 수 없다면,

JIT Compiler option

  • 특정 메소드가 일정 횟수 있상 실행되면 JIT Compiler가 native 코드로 컴파일한다.
  • -XX:CompileThreshold 가 그 횟수를 지정한다. 기본 1500이며, 너무 작게 주면 서버가 최초로 뜰 때, 컴파일하느라 너무 많은 시간을 소비한다. 따라서 애플리케이션에 따라 적정수를 지정해야 한다. 보통은 100 이상 정도가 적합하다 한다.
  • -server -XX:+TieredCompilation : Java 7, Multi Core 환경에서 이 옵션을 주면 native 컴파일 속도가 향상 된다.

Linux Tuning

  • 기본적으로 swappiness=1로 스왑 가능성을 줄이고 file과 process 제약을 풀어준다.
    ulimit -n 32768 -u 32768

HashMap.get/getEntry, WeakHashMap.get/getEntry 에 대한 동시 접근은 CPU 사용률 증가(High 100%) 유발

Selector.select() CPU 100%

java/performance.txt · 마지막으로 수정됨: 2018/03/06 15:39 저자 kwon37xi