사용자 도구

사이트 도구


search:elasticsearch

차이

문서의 선택한 두 판 사이의 차이를 보여줍니다.

차이 보기로 링크

양쪽 이전 판 이전 판
다음 판
이전 판
다음 판 양쪽 다음 판
search:elasticsearch [2019/04/30 14:19]
kwon37xi
search:elasticsearch [2019/04/30 14:47]
kwon37xi [Sharding Routing]
줄 14: 줄 14:
  
 ===== Sharding Routing ===== ===== Sharding Routing =====
 +  * 만약 Search 를 명확히 특정 Shard 단위로 할 수 있다면 샤딩을 촘촘히 해도 읽기/쓰기 성능이 모두 좋지만 
 +  * Sharding 기준이 명확하지 않아서 여러 Shard 에 걸쳐 Search 를 해야한다면, Shard 를 늘릴 수록 
 +    * 읽기 성능은 저하된다.
 +    * Write Primary 노드는 여러개로 분산 되므로 Write 성능은 높아진다.
 ==== Routing 강제 ==== ==== Routing 강제 ====
 라우팅을 강제할 수 있다. 라우팅 옵션 없이는 인덱싱 불가. 라우팅을 강제할 수 있다. 라우팅 옵션 없이는 인덱싱 불가.
줄 87: 줄 91:
  
 ===== 최적화 ===== ===== 최적화 =====
 +  * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/docs-replication.html|Reading and Writing documents]]
   * ''index.refresh_interval: 시간s'' : 인덱스를 push 하는 시간이라고 보면 되는데 ''5s'' 형태로 준다. 길수록 CPU 점유율은 떨어지지만 검색에 안나오는 시간도 길어진다.   * ''index.refresh_interval: 시간s'' : 인덱스를 push 하는 시간이라고 보면 되는데 ''5s'' 형태로 준다. 길수록 CPU 점유율은 떨어지지만 검색에 안나오는 시간도 길어진다.
   * ''bootstrap.mlockall: true'' : Linux 등에서 ES의 메모리를 swapping 하지 않게 설정 등.   * ''bootstrap.mlockall: true'' : Linux 등에서 ES의 메모리를 swapping 하지 않게 설정 등.
줄 93: 줄 98:
     * 메모리는 31GB 혹은 32bit Pointer가 될수 있는 max 값.     * 메모리는 31GB 혹은 32bit Pointer가 될수 있는 max 값.
     * Shard 는 최대 30GB가 될 정도 수준으로 구성.(Replica 도 계산시 단일 Shard로 쳐서)     * Shard 는 최대 30GB가 될 정도 수준으로 구성.(Replica 도 계산시 단일 Shard로 쳐서)
-    * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-search-speed.html|Tune for search speed]+    * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-search-speed.html|Tune for search speed]]
  
 ===== Write Performance ===== ===== Write Performance =====
줄 103: 줄 108:
   * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html|Tune for indexing speed]]   * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/tune-for-indexing-speed.html|Tune for indexing speed]]
   * [[https://www.elastic.co/kr/blog/why-am-i-seeing-bulk-rejections-in-my-elasticsearch-cluster|Why am I seeing bulk rejections in my Elasticsearch cluster?]]   * [[https://www.elastic.co/kr/blog/why-am-i-seeing-bulk-rejections-in-my-elasticsearch-cluster|Why am I seeing bulk rejections in my Elasticsearch cluster?]]
 +  * [[https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-threadpool.html|Thread Pool]] 
 +  * [[https://www.datadoghq.com/blog/elasticsearch-performance-scaling-problems/|How to solve 5 Elasticsearch performance and scaling problems]] 
 +  * [[https://brunch.co.kr/@alden/36|rejected exception의 의미와 조치 방법]] 
 +  * ''cat threadpool''<code> 
 +GET /_cat/thread_pool 
 +</code>
 ===== G1 GC ===== ===== G1 GC =====
   * G1 GC로 가려면 [[search:lucene|Lucene]] 관련 버그들이 해결된 [[java:10|Java 10]] 이상 버전 권장.   * G1 GC로 가려면 [[search:lucene|Lucene]] 관련 버그들이 해결된 [[java:10|Java 10]] 이상 버전 권장.
search/elasticsearch.txt · 마지막으로 수정됨: 2023/04/29 14:03 저자 kwon37xi