Elasticsearch를 설치하여 사용할때, jvm.options에 대해서는 제대로 설정한 적이 없어서 특정 옵션들에 대해 적는다.
CMS라는 GC 방식을 사용한다는 설정. Elasticsearch가 기본으로 사용하는 GC 방식
이며, 대부분의 경우 좋은 성능을 내기 때문에 특별한 경우가 아니라면 다른 GC 방식으로 바꾸지 않아도 된다.
CMS GC
를 사용할 경우 힙 메로리 사용량이 어느 정도가 되면 old GC
를 수행할 것인지 설정한다. 75%가 기본값으로, old GC가 발생하면 Stop-the-world
현상에 의해 Elasticsearch 프로세스가 잠시 응답 불가 상태가 되기 때문에 주의해서 설정해야 한다.
이 값을 낮게 설정하면 old GC가 자주 발생하고, 높게 설정하면 한 번의 old GC 수행 시간이 길어진다. 사용할 클러스터의 적정 값을 찾으면 좋겠지만 그게 어렵다면 변경하지 않고 기본값을 사용하는 것이 좋다.
old GC를 수행할 때, GC 통계 데이터를 근거로 하지 않고 [4]의 설정만을 기준으로 old GC를 수행한다.
CMS GC가 아닌 G1 GC
에 대한 설정이다. G1 GC를 적용하면 다양한 이슈가 발생할 수 있기 때문에 반드시 테스트를 해보고 진행해야 한다.