[Elasticsearch] Sizing 및 설정 일반내용.

Elastic/Elasticsearch 2013. 9. 16. 10:09

Elasticsearch 로 구성하는 일반적인 내용입니다.

서비스 특성과 목적에 맞춰서 구성 하는게 정답이구요.

아래는 ES 의 여러 setting 이나 config 관련된 내용 중 서버 Sizing 과 성능과 관련된 일부 내용입니다. 


[Shard & Replica]

- shard size 조건

shard size 는 replica size 보다 커야 함.

shard 하나당 10G ~100G 정도로 구성.


- replica size 조건

일반 : ceil(N/2) + 1

검색 성능을 높히기 위한 가장 쉬운 방법은 full replica 설정

서비스 특성에 맞춰서 replica 설정을 하는게 좋으며, 일반적으로는 1, 2로 구성함.


[System Recommended]

- 일반적으로는 시스템 사양보다 문서, 검색 그리고 색인 특징을 바탕으로 구성을 하는게 맞습니다.

- 가능 하면 물리서버를 추천 하며, VM 을 사용해도 크게 무리는 없습니다.

- 서비스를 위한 최소사양 ( 아래 사양 보다 낮은 서버로도 구성해서 서비스 하는 것도 있습니다.)

CPU 2.4GHz 쿼드코어

RAM 12G


[검색엔진 설정]

- index settings

refresh_interval

term_index_interval

merge

store

위 설정들은 검색과 색인 특성에 맞춰서 구성을 하시면 됩니다.


- elasticsearch.yml

bootstrap.mlockall

swap 사용을 방지 하기 위해서는 true 로 구성을 하셔야 합니다.

index.fielddata.cache

resident, node, soft 

0.90.3 에서 기본 값은 node 입니다.

성능을 우선시 하는 경우가 아니면 soft 를 사용하시는게 좋구요.

성능을 우선시 하는 경우면 resident 또는 node 를 사용하시는게 좋습니다.

indices.fielddata.cache.size

heap size 의 30 ~40%

indices.cache.filter.size

index.translog

operation 에 대한 transaction log 설정입니다.

type 은 simple, buffer 두 가지 입니다.

안정성을 우선시 할 경우 simple 로 설정 하시는게 좋습니다.

indices.memory.index_buffer_size

전체 메모리 용량에서 20~30% 로 설정 합니다.

threadpool

search, index 별 설정을 해서 사용하시는게 좋습니다.

성능에 관련된 설정입니다.



: