성능

2세대

IBM Cloud® Databases for MongoDB 배포 규모는 사용량에 맞춰 수동으로 조정할 수 있습니다. 배포 환경의 성능을 조정할 때는 먼저 몇 가지 요소를 고려해 보십시오.

배치 모니터링

Databases for MongoDB 배포 환경은 IBM Cloud® Monitoring 서비스와의 연동 기능을 제공하여, 배포 환경의 디스크 사용량 및 IOPS와 같은 리소스 사용량을 기본적으로 모니터링할 수 있습니다. 사용량 추세를 관찰하면 리소스 고갈로 인해 데이터베이스가 불안정해지기 전에 성능 문제를 완화하는 데 도움이 될 수 있습니다.

디스크 사용량

MongoDB 가 데이터 저장에 얼마나 많은 공간을 차지하고 있는지 궁금하다면, MongoDB 의 기본 데이터 저장소 진단 기능을 실행하여 데이터베이스, 컬렉션, 인덱스 등의 크기를 확인할 수 있습니다. 데이터 세트의 개략적인 크기가 알려지고 고정된 경우에는 데이터를 수용하도록 디스크를 수동 스케일링할 수 있습니다.

디스크 I/O

Databases for MongoDB 배치에서 IOPS(Input-Output Operations per Second) 수는 스토리지 볼륨의 유형에 의해 제한됩니다. Databases for MongoDB 배포 환경의 스토리지 볼륨은 GB당 5 IOPS 등급의 블록 스토리지 내구성 볼륨 입니다. I/O 이용률 한계에 도달하면 데이터베이스가 느리게 응답하거나 응답하지 않을 수 있습니다. 최적화되지 않은 쿼리, 인덱스 생성 및 새 인덱스 생성은 IOPS 급증을 유발할 수 있습니다. 일반적인 애플리케이션 워크로드도 배포 환경에 할당된 IOPS 한도를 초과할 수 있습니다.

디스크 공간을 늘려서 배치에 사용할 수 있는 IOPS 수를 늘릴 수 있습니다.

자세한 내용은 ‘ MongoDB ’ 문서를 참조하십시오.

WiredTiger 캐시 및 메모리

Databases for MongoDBWiredTiger 저장 엔진을 사용하며, 이 엔진은 파일 시스템 메모리 캐시와 내부 메모리 캐시를 모두 활용합니다. MongoDB는 내부 캐시에서 데이터를 처리할 때 가장 성능이 좋으며, 데이터가 파일 시스템 캐시에 있을 때 성능을 덜 발휘하며, 디스크에서 데이터를 확보해야 하는 경우에는 최소한의 성능을 제공합니다.

내부 캐시의 기본 크기는 50% of (total RAM per member - 1 GB) 또는 256 MB 중 더 큰 쪽입니다. 예를 들어, Databases for MongoDB 배포의 최소 메모리 크기는 데이터 멤버당 4096 MB이므로, 내부 캐시는 1536 MB입니다( 0.5 * (4096 MB - 1024 MB) = 1536 MB 이기 때문입니다).

내부/파일 시스템 캐시 비율은 배치에서 사용자 구성이 가능하지 않지만, 사용자는 총 메모리 양을 스케일링하여 내부 캐시를 조정함으로써 데이터베이스의 성능을 향상시킬 수 있습니다. 예를 들어, 멤버당 메모리를 5120 MB로 확장하면 내부 캐시 크기는 2048 MB가 됩니다. 0.5 * (5120 MB - 1024 MB) = 2048 MB.

자동 스케일링을 사용하는 다른 방법은 디스크 I/O 활용도가 특정 임계값에 도달할 때 스케일링하도록 메모리를 설정하는 것입니다. 메모리를 늘리면 디스크에 대한 MongoDB의 읽기/쓰기 양을 감소시키므로, 추가 메모리는 추가 캐싱을 지원함으로써 디스크 I/O에 대한 부담을 줄일 수 있습니다.

WiredTiger 캐시에 대한 자세한 내용은 MongoDB 문서를 참조하십시오.

쿼리 성능

MongoDB 문서에는 쿼리 성능에 관한 다양한 자료가 수록되어 있으며, 그중에는 쿼리 성능 분석 에 게시된 사용 방법 안내도 포함되어 있습니다. 쿼리의 성능에 대해 대략적인 파악을 마쳤다면, 쿼리를 최적화하는 방법에 대한 팁도 확인할 수 있습니다.

좀 더 심화된 주제로, MongoDB 쿼리 실행 계획을 관리합니다 에서 그 방법을 배울 수 있습니다.

기타 MongoDB 모니터링 도구

사용자는 일부 기본 MongoDB 모니터링 기능을 활용할 수도 있습니다. 예를 들어, 다음 두 가지를 모두 사용할 수 있습니다. mongotop 와 mongostat를 모두 사용할 수 있습니다.

MongoDB 데이터베이스의 상태를 확인하는 문서화된 명령어 중 하나를 실행하십시오.

MongoDB 의 많은 유틸리티와 명령어는 실행하기 위해 클러스터 모니터 역할이 필요합니다. 이는 ‘ manager ’ 기본 역할 세트에 포함되어 있지 않습니다. 배포 환경의 ‘ manager ’ 사용자에게 ‘Cluster Monitor’ 역할을 부여하십시오.