문서 메뉴
문서 홈
/
MongoDB Atlas
/ /

쿼리 성능 모니터링

이 페이지의 내용

  • 고려 사항
  • 필요한 액세스 권한
  • 쿼리 프로파일러 활성화 및 비활성화
  • 쿼리 프로파일러에 액세스

M10+ 클러스터 및 서버리스 인스턴스에서만 사용 가능

쿼리 프로파일러는 성능 문제를 진단하고 모니터링합니다. 이 모니터링은 실행 속도가 느린 쿼리와 해당 쿼리의 주요 성능 통계를 Atlas UI에 노출할 수 있습니다.

Atlas는 mongod 인스턴스에서 통계를 수집하고 표시합니다. 쿼리 프로파일러는 mongod 인스턴스의 로그 데이터 를 기반으로 느린 쿼리를 식별합니다. Atlas는 이 데이터를 인스턴스의 Query Profiler 섹션에 있는 Query Insights 탭에 표시합니다.

참고

쿼리 프로파일러는 데이터베이스 프로파일 러와 다릅니다. 쿼리 프로파일러는 mongod 로그의 항목을 기반으로 비효율적인 특정 쿼리를 식별합니다. 데이터베이스 프로파일러는 지정된 프로파일링 수준 에 따라 mongod 에서 실행된 명령에 대한 자세한 정보를 반환합니다. 프로파일링 수준을 변경해도 쿼리 프로파일러에 표시되는 느린 쿼리에는 영향을 주지 않습니다.

하나 이상의 호스트에서 Query Insights 은(는) 설정된 기간 동안 느린 데이터베이스 작업을 나타내기 위해 다음과 같은 측면을 표시합니다.

  • Operation Execution Time

  • Server Execution Time (서버리스 인스턴스)

이 데이터를 차트와 테이블 모두에 표시하며, 각각 측면과 기준을 기준으로 필터링할 수 있습니다.

$comment 를 사용하여 쿼리 프로파일러에 표시될 설명 정보를 쿼리 조건자에 추가할 수 있습니다. 이 정보를 사용하면 쿼리 프로파일러 데이터를 더 쉽게 분석할 수 있습니다.

Atlas는 해당 호스트의 평균 작업 실행 시간을 기준으로 각 mongod 호스트의 느린 작업 임계값을 관리합니다. 이 임계값은 db.setProfilingLevel mongosh 명령을 사용하여 변경할 수 있습니다.

참고

db.setProfilingLevel 을(를) 사용하여 느린 작업에 대한 임계값을 변경하면 성능 및 시스템 로그 설정에 영향을 줄 수 있습니다. db.setProfilingLevel 를 사용하여 프로덕션 배포에서 쿼리 프로파일러 설정을 조정하기 전에 성능 및 보안에 미치는 영향을 신중하게 고려하세요. 노드를 다시 시작하면 쿼리 프로파일러 설정이 기본값으로 재설정됩니다.

참고

Atlas가 관리하는 느린 작업 임계값 대신 100 밀리초의 고정된 느린 쿼리 임계값을 사용하려면 Atlas 관리 API를 사용하세요. 느린 작업 임계값 관리 비활성화 를 참조하세요. M0, M2, M5 클러스터 및 서버리스 인스턴스의 경우 Atlas는 기본적으로 Atlas가 관리하는 느린 쿼리 작업 임계값을 비활성화하며 사용자는 이를 활성화할 수 없습니다.

중요

쿼리 프로파일러를 활성화하기 전에 다음 고려 사항을 읽어보세요.

프로필 데이터에는 데이터베이스 쿼리 내용을 포함한 민감한 정보가 포함될 수 있습니다. 이 데이터를 Atlas에 노출하는 것이 정보 보안 관행과 일치하는지 확인하세요.

쿼리 프로파일러는 한 번에 약 100 000 샘플링된 로그를 표시합니다. 선택한 호스트 및 시간 범위에 100 000 이하의 로그가 기록된 경우 모든 로그를 표시합니다.

Atlas는 Query Profiler 차트에 100 000 개 이하의 데이터 포인트를 표시합니다.

로그 데이터는 일괄적으로 처리됩니다. 데이터는 실시간보다 최대 5분까지 지연될 수 있습니다.

만약 클러스터에 활동 급증해 매우 많은 양의 로그 메시지가 생성될 경우, Atlas는 일정 기간 동안 새로운 로그의 수집 및 저장을 중단할 수 있습니다.

참고

로그 분석 속도 제한은 Performance Advisor UI, 쿼리 인사이트 UI, 액세스 추적 UI 및 Atlas Search 쿼리 분석 UI에만 적용됩니다. 다운로드 가능한 로그 파일 은 항상 완전한 상태로 유지됩니다.

프로젝트에 대해 Performance Advisor 및 쿼리 프로파일러를 활성화하거나 비활성화하려면 프로젝트에 대해 Project Owner 역할이 있거나 상위 조직에 대해 Organization Owner 역할이 있어야 합니다.

Atlas는 기본적으로 쿼리 프로파일러를 활성화합니다.

쿼리 프로파일러를 비활성화하려면 다음을 수행합니다.

  1. Projects 메뉴 옆에 있는 Options 메뉴.

  2. Project Settings를 클릭합니다.

  3. Database Monitoring Tools 섹션에서 Performance Advisor and ProfilerOff 로 전환합니다.

쿼리 프로파일러에 액세스하려면 다음과 같이 하세요:

  • 클러스터의 경우:

    1. 프로젝트 패널에서 해당 인스턴스에 대해 View Monitoring 를 클릭합니다.

    2. Query Insights 탭을 클릭합니다.

    3. Query Profiler 탭을 클릭합니다.

    참고

    클러스터 수준에서 쿼리 프로파일러에 액세스하면 쿼리 프로파일러는 프라이머리세컨더리 노드에 있는 로그의 모든 데이터를 표시합니다.

  • 서버리스 인스턴스의 경우 Monitoring 탭을 클릭합니다.

차트 위에서 보려는 측정항목과 기간을 선택합니다.

  1. Display 메뉴에서 지표를 선택합니다. Atlas는 다음 항목을 허용합니다.

    • 기본값: Operation Execution Time 또는 Server Execution Time (서버리스 인스턴스)

    • Keys Examined

    • Docs Returned

    • Examined:Returned Ratio

    • Num Yields

    • Response Length

  2. View Last 메뉴에서 기간을 선택합니다. Atlas는 다음 항목을 허용합니다.

    • 5일

    • 24시간 (기본값)

    • 12시간

    • 8 시간

    • 1 시간

    • 10 분

전체 쿼리 및 실행 통계를 보려면 차트에서 해당 쿼리를 나타내는 지점을 클릭합니다.

테이블 위에서 프로파일링하려는 네임스페이스, 작업 유형 및 측정항목을 선택합니다.

  1. 프로파일링할 데이터베이스 및 컬렉션의 조합을 변경하려면 All Namespaces을 클릭합니다.

  2. All Operations 클릭하여 프로파일링할 작업을 변경합니다.

  3. Operation Execution Time 또는 Server Execution Time(서버리스 인스턴스)을 클릭하여 프로파일링할 메트릭을 변경합니다. Atlas는 다음 항목을 허용합니다.

    • 기본값: Operation Execution Time 또는 Server Execution Time (서버리스 인스턴스)

    • Keys Examined

    • Docs Returned

    • Examined:Returned Ratio

    • Num Yields

    • Response Length

← 컬렉션 수준 쿼리 지연 시간 모니터링