Docs Menu
Docs Home
/
MongoDB 매뉴얼
/ / /

쿼리 성능 분석

이 페이지의 내용

  • 느린 쿼리 식별
  • 성능 개요
  • 느린 쿼리 분석
  • 고급 쿼리 분석 수행

MongoDB는 워크로드 성능을 검사하는 여러 가지 방법을 제공하므로 쿼리 성능을 이해하고 장기 실행 쿼리를 식별할 수 있습니다. 쿼리 성능을 이해하면 효과적인 인덱스를 구축하고 애플리케이션에서 중요한 쿼리를 효율적으로 실행할 수 있습니다.

배포에서 발생하는 느린 쿼리를 식별하려면 다음 방법을 사용하세요.

다음 메서드는 배포 성능에 대한 개요를 제공합니다. 해결해야 할 성능 문제가 있는지 확인하려면 다음 방법을 사용하세요.

메서드
가용성
설명

Atlas Performance Advisor 사용

M10+ Atlas 클러스터

Atlas Performance Advisor는 느린 쿼리를 모니터링하고 성능 개선을 위한 새로운 인덱스를 제안합니다. 자세한 내용은 느린 쿼리 모니터링 및 개선을 참조하세요.

Atlas에서 진행 중인 작업 확인

M10+ Atlas 클러스터

Atlas Real-Time Performance Panel(RTPP)을 사용하여 현재 네트워크 트래픽, 데이터베이스 작업 및 하드웨어 통계를 확인합니다.

로컬에서 진행 중인 작업 확인

Atlas 클러스터 및 자체 호스팅 배포

$currentOp 집계 단계는 활성 작업 및 커서에 대한 정보를 반환합니다. $currentOp를 사용하여 성능에 부정적인 영향을 줄 수 있는 장기 실행 또는 중단된 작업을 식별합니다.

또한 top 명령을 사용하여 추가 작업 수 및 지연 시간 통계를 얻을 수도 있습니다.

서버 지표 확인

Atlas 클러스터 및 자체 호스팅 배포

Atlas 클러스터의 경우 클러스터 메트릭을 확인하여 성능 문제를 파악할 수 있습니다.

셀프 호스팅 배포의 경우 serverStatus 명령은 쿼리 실행의 성능 저하 및 이상 현상을 나타낼 수 있는 지표를 제공합니다.

인덱스 통계 보기

Atlas 클러스터 및 자체 호스팅 배포

$indexStats 집계 단계에서는 컬렉션의 인덱스와 개별 인덱스의 사용 빈도에 대한 정보를 반환합니다. $indexStats를 사용하여 쓰기 성능을 향상하기 위해 제거할 수 있는 미사용 인덱스를 식별합니다.

다음 방법을 사용하여 느린 쿼리를 분석하고 성능 저하의 원인을 확인합니다.

메서드
가용성
설명

Atlas 쿼리 프로파일러 사용

M10+ Atlas 클러스터

Atlas 쿼리 프로파일러는 장기 실행 작업과 성능 통계를 보여줍니다. 자세한 내용은 쿼리 성능 모니터링을 참조하세요.

데이터베이스 프로파일러 활성화

Atlas 클러스터 및 자체 호스팅 배포

활성화되면 데이터베이스 프로파일러는 느린 쿼리에 대한 정보를 system.profile 컬렉션에 저장합니다.

자세한 내용은 데이터베이스 프로파일러를 참조하세요.

진단 로그에서 느린 쿼리 보기

Atlas 클러스터 및 자체 호스팅 배포

MongoDB는 느린 작업 임계값(기본값 100 밀리초)을 초과하는 쿼리를 진단 로그에 기록합니다.

진단 로그를 확인하여 문제가 있는 쿼리를 식별하고 인덱스를 통해 어떤 쿼리가 이점을 얻을 수 있는지 확인하세요.

결과 설명 보기

Atlas 클러스터 및 자체 호스팅 배포

쿼리 결과 설명에는 쿼리 계획 및 실행 통계에 대한 정보가 표시됩니다. 결과 설명을 사용하여 쿼리에 대한 다음 정보를 확인할 수 있습니다.

  • 쿼리를 실행하는 데 걸린 시간

  • 쿼리가 인덱스를 사용했는지 여부

  • 쿼리를 수행하기 위해 스캔한 문서 및 인덱스 키의 수

explain 결과를 보려면 다음과 같은 메서드를 사용하세요.

결과 설명 출력에 대해 알아보려면 결과 설명계획 결과 설명 해석을 참조하세요.

다음 방법은 문제가 있는 쿼리를 심층적으로 조사하는 데 적합하며 세분화된 성능 인사이트를 제공할 수 있습니다.

메서드
가용성
설명

계획 캐시 통계 보기

Atlas 클러스터 및 자체 호스팅 배포

$planCacheStats 집계 단계에서는 컬렉션의 계획 캐시에 대한 정보를 반환합니다.

계획 캐시에는 쿼리 플래너가 쿼리를 효율적으로 완료하는 데 사용하는 쿼리 계획이 포함되어 있습니다. 일반적으로 계획 캐시에는 가장 일반적으로 실행되는 쿼리에 대한 항목이 포함되어야 합니다.

돌아가기

쿼리 최적화