문서의 선택한 두 판 사이의 차이를 보여줍니다.
양쪽 이전 판 이전 판 다음 판 | 이전 판 다음 판 양쪽 다음 판 | ||
search:elasticsearch [2019/02/14 19:10] kwon37xi |
search:elasticsearch [2019/04/30 14:47] kwon37xi [Sharding Routing] |
||
---|---|---|---|
줄 14: | 줄 14: | ||
===== Sharding Routing ===== | ===== Sharding Routing ===== | ||
+ | * 만약 Search 를 명확히 특정 Shard 단위로 할 수 있다면 샤딩을 촘촘히 해도 되지만 | ||
+ | * 여러 Shard 에 걸쳐 Search 를 해야한다면, | ||
+ | * 읽기 성능은 저하된다. | ||
+ | * Write Primary 노드는 여러개로 분산 되므로 Write 성능은 높아진다. | ||
==== Routing 강제 ==== | ==== Routing 강제 ==== | ||
라우팅을 강제할 수 있다. 라우팅 옵션 없이는 인덱싱 불가. | 라우팅을 강제할 수 있다. 라우팅 옵션 없이는 인덱싱 불가. | ||
줄 73: | 줄 77: | ||
===== Linux 설정 ===== | ===== Linux 설정 ===== | ||
- | * [[https:// | + | * [[https:// |
< | < | ||
sysctl -w vm.max_map_count=262144 | sysctl -w vm.max_map_count=262144 | ||
줄 87: | 줄 91: | ||
===== 최적화 ===== | ===== 최적화 ===== | ||
+ | * [[https:// | ||
* '' | * '' | ||
* '' | * '' | ||
줄 93: | 줄 98: | ||
* 메모리는 31GB 혹은 32bit Pointer가 될수 있는 max 값. | * 메모리는 31GB 혹은 32bit Pointer가 될수 있는 max 값. | ||
* Shard 는 최대 30GB가 될 정도 수준으로 구성.(Replica 도 계산시 단일 Shard로 쳐서) | * Shard 는 최대 30GB가 될 정도 수준으로 구성.(Replica 도 계산시 단일 Shard로 쳐서) | ||
+ | * [[https:// | ||
+ | ===== Write Performance ===== | ||
+ | * Sharding 을 하지 않을 경우 모든 Write 요청이 하나의 Primary Data Node로 집중된다. | ||
+ | * Sharding 을 하면 각 Shard 별 Data Node로 분할 된다. | ||
+ | * Write Thread 는 CPU 갯수만큼 생성된다. 그리고 Queue가 200개 할당된다. | ||
+ | * Qeueue 갯수를 넘는 Write/ | ||
+ | * Write Thread 를 늘리고자 한다면 Scale Up 해서 CPU 갯수를 늘린다. Queue 갯수를 늘리는 것은 미봉책이므로 하지 않는 것이 좋다. | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * [[https:// | ||
+ | * '' | ||
+ | GET / | ||
+ | </ | ||
===== G1 GC ===== | ===== G1 GC ===== | ||
* G1 GC로 가려면 [[search: | * G1 GC로 가려면 [[search: |