성능

IBM Cloud® Databases for Elasticsearch 배치는 사용량에 맞게 확장하거나 특정 리소스 조건에서 Auto-Scaling하도록 구성하거나 더 많은 Elasticsearch 노드로 수평 확장할 수 있습니다. 배포 성능을 조정하는 경우 몇 가지 요소를 고려하세요.

배치 모니터링

Databases for Elasticsearch 배치는 배치에서 리소스 사용량의 기본 모니터링을 위해 IBM Cloud® Monitoring 서비스와의 통합을 제공합니다. 배치에서 Auto-Scaling을 구성하는 데 도움이 되도록 디스크 사용량 및 IOPS와 같은 사용 가능한 많은 메트릭이 제공됩니다. 사용량 추세를 관찰하고 이에 대응하도록 Auto-Scaling을 구성하면 리소스 고갈로 인해 데이터베이스가 불안정해지기 전에 성능 문제를 완화하는 데 도움이 될 수 있습니다.

Elasticsearch 샤딩

Elasticsearch에 색인을 추가하면 데이터가 샤드로 분할되고 해당 샤드가 클러스터의 노드에 분산됩니다. 샤딩된 구성을 사용하면 Elasticsearch가 모든 노드에서 데이터에 대해 동시 작업을 실행할 수 있습니다. 추가 동시성 및 성능을 얻으려면 Elasticsearch 클러스터에 노드를 추가하십시오. 노드를 추가하면 모든 노드에 리소스 사용량을 분산시키고 성능을 향상시키기 위해 샤드가 클러스터 전체에서 자동으로 재조정됩니다.

메모리 관리

Elasticsearch 메모리는 카테고리, JVM 힙 크기 및 시스템 메모리로 나뉩니다. 내부 캐싱을 위해 힙을 사용하고 운영 체제, 파일 시스템 캐시 및 가비지 콜렉션을 위해 나머지 시스템 메모리를 사용합니다. 힙에 할당되는 메모리가 많을 수록 시스템의 나머지 부분에 할당되는 메모리가 줄어듭니다.

Databases for Elasticsearch 배치에는 최대 힙 크기가 32GB인 50% 힙 및 50% 시스템 메모리로 설정된 메모리 할당 정책이 있습니다. 경우에 따라 Elasticsearch는 파일 시스템 캐시를 사용하고 디스크 I/O 사용률에 대한 부담을 완화하므로 힙 제한이 있더라도 64GB RAM 이상으로 배치를 확장하는 것이 유용합니다. 디스크 I/O 사용률이 특정 임계값에 도달하면 메모리를 늘리도록 자동 확장을 구성할 수 있습니다.

디스크 IOPS

초당 입출력(I/O) 작업(IOPS) 수는 스토리지 볼륨 유형에 따라 제한됩니다. Databases for Elasticsearch 배치용 스토리지 볼륨은 GB당 10 IOPS 계층의 Block Storage Endurance 볼륨에 프로비저닝됩니다. IOPS 한계에 도달하면 데이터베이스가 느리게 응답하거나 응답하지 않는 것처럼 보일 수 있습니다.

색인화는 디스크를 사용하므로 유스 케이스에 쓰기가 많은 경우 색인화 속도는 배치에 사용할 수 있는 IOPS로 제한될 수 있습니다. 디스크 사용량에 맞게 색인을 조정하여 일부 병목 현상을 개선할 수 있습니다. 또한 작업 데이터 세트가 파일 시스템 캐시에 맞지 않는 경우 검색에서 디스크를 사용할 수 있으므로 IOPS 로드가 증가합니다. 유스 케이스에 대규모 데이터 세트 검색이 포함된 경우 배치 메모리를 늘리면 Elasticsearch가 디스크에 덜 의존하는 데 도움이 될 수 있습니다.

주의해야 할 또 다른 사항은 기본 Lucene 파일 시스템 관리 정책이 niofs라는 것입니다. 이는 파일에 대한 동시 읽기를 허용하며 디스크 I/O 한계에 의해 제한될 수도 있습니다. 파일 시스템 스토리지 유형에 대한 정보는 Elasticsearch 문서에 있습니다.

더 많은 IOPS가 필요한 경우 디스크 공간을 늘려 배치에 사용할 수 있는 IOPS 수를 늘릴 수 있습니다. 디스크 I/O를 증가시키는 색인화 또는 사용량 추세를 알고 있는 경우 IOPS를 기반으로 디스크를 늘리도록 Auto-Scaling을 구성할 수 있습니다.