아빠는 개발자

[es] replica 샤드가 많으면 검색성능이 좋아지는 이유는? - 이론편 본문

카테고리 없음

[es] replica 샤드가 많으면 검색성능이 좋아지는 이유는? - 이론편

father6019 2024. 7. 28. 19:29
728x90
반응형

레플리카 샤드가 많으면 검색 성능이 좋아지는 이유는 다음과 같은 여러 가지 요인에 기인합니다:

1. 병렬 처리 증가

레플리카 샤드가 많으면, 동일한 데이터에 대해 여러 샤드가 동시에 검색 쿼리를 처리할 수 있습니다. 이는 병렬 처리를 증가시켜 전체 검색 시간을 줄여줍니다. 예를 들어, 3개의 프라이머리 샤드와 3개의 레플리카 샤드를 갖고 있다면, 총 12개의 샤드(3 프라이머리 + 9 레플리카)가 동시에 검색 쿼리를 처리할 수 있습니다.

2. 부하 분산

레플리카 샤드가 많으면 검색 요청이 클러스터 내 여러 노드로 분산됩니다. 이는 특정 노드에 검색 요청이 집중되는 것을 방지하고, 클러스터 전체에 부하를 고르게 분산시켜 각 노드의 성능을 최적화합니다. 부하 분산이 잘 되면, 개별 노드의 CPU 및 I/O 사용량이 균형을 이루어 전체 검색 성능이 향상됩니다.

3. 대기 시간 감소

레플리카 샤드가 많으면, 클라이언트 요청이 여러 샤드 중 하나에서 빠르게 응답될 가능성이 높아집니다. 즉, 요청이 가장 빠르게 응답할 수 있는 샤드에서 처리될 수 있으므로, 전체적인 대기 시간이 줄어듭니다. 이는 특히 클러스터의 노드가 지리적으로 분산되어 있거나, 특정 노드가 일시적으로 부하가 높을 때 효과적입니다.

4. 장애 복구 및 가용성

레플리카 샤드가 많으면, 일부 노드에 장애가 발생하더라도 여전히 검색 쿼리를 처리할 수 있는 샤드가 남아있습니다. 이는 클러스터의 가용성을 높여, 장애 상황에서도 검색 성능이 크게 저하되지 않도록 합니다.

5. 캐싱 효과

더 많은 샤드가 검색 쿼리를 처리하면서, 각 샤드의 캐시 메모리를 더 효율적으로 사용할 수 있습니다. 동일한 쿼리가 반복적으로 실행될 때, 샤드의 캐시 메모리에 데이터가 저장되어 검색 속도가 빨라질 수 있습니다.

요약

레플리카 샤드가 많으면 검색 성능이 좋아지는 이유는 병렬 처리 증가, 부하 분산, 대기 시간 감소, 장애 복구 및 가용성 증가, 그리고 캐싱 효과 때문입니다. 그러나 레플리카 샤드의 수를 적절하게 설정하는 것이 중요하며, 너무 많은 레플리카 샤드는 리소스 사용량을 증가시키고 인덱싱 성능에 부정적인 영향을 미칠 수 있으므로 신중한 균형이 필요합니다.

728x90
반응형