728x90
Elasticsearch적정 Heap Size 찾기
ES의 서버를 구성할 때 메모리를 아무리 크게해도 결코 좋지 않으며,
메모리 최대 64GB로 여러개의 서버를 두라고 권장하는데 그 이유 간략한 설명
Heap영역이 32GB를 넘게 되면 그 때부터는 JVM은 64bit기반의 OOP를 사용하게 된다.
그리고 64bit기반의 OOP를 사용하게 되면 성능이 급격하게 저하된다.
이러한 이유로 ES의 Heap영역을 32GB이상으로 잡지 않도록 권고한다.
※아래 명령어로 OOP를 사용하지않는 최대의 Heap크기가 어떤 사이즈인지 명령어로 확인해 볼 수 있다.
(명령어)
java -Xmx32G -XX:+UnlockDiagnosticVMOptions -XX:+PrintFlagsFinal -version 2>/dev/null | grep 'UseCompressedOOops'
-> 32G 부분을 이미지 처럼 바꿔가면서 날려보면 된다.
(결과)
bools UseCompressedOops : false ##64bit기반의 OOP사용 (느림)
bools UseCompressedOops : true ##32bit기반의 OOP미사용
댓글