Docs Menu
Docs Home
/
MongoDB Atlas
/ /

쿼리 성능 모니터링

이 페이지의 내용

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

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

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

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

참고

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

Atlas Query Profiler는 기본적으로 전체 클러스터의 작업을 보여줍니다. Host Selector 드롭다운을 사용하여 특정 샤드 또는 샤드 내의 노드에서 작업을 보도록 선택할 수 있습니다. Query Insights 탭은 설정된 시간 프레임 내에서 느린 데이터베이스 작업을 드러내는 정보를 표시합니다. 예를 들면 다음과 같습니다.

  • Operation Execution Time

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

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

Atlas 쿼리 프로파일러 는 추가 데이터 포인트를 지원 하기 위해 동일한 타임스탬프를 중심으로 동일한 컬렉션 에서 실행 되는 동일한 유형의 비닝 작업을 지원합니다.

추가 데이터 포인트를 지원 하기 위해 Atlas 쿼리 프로파일러 는 다음 기준을 충족하는 비닝 작업을 지원합니다.

  • 작업은 동일한 작업 유형입니다.

  • 작업은 동일한 네임스페이스에서 실행됩니다.

  • 작업에 일치하는 hasSortusedIndex 부울 값이 있습니다.

  • 작업은 동일한 타임스탬프를 중심으로 실행됩니다.

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

참고

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

또한 분산형 차트의 X축을 확대하면 느린 작업을 다시 가져와서 선택한 기간의 느린 작업에 대해 충실도를 더욱 자세히 제공할 수 있습니다.

참고

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
  1. 아직 표시되지 않은 경우 탐색 표시줄의 Organizations 메뉴에서 원하는 프로젝트가 포함된 조직을 선택합니다.

  2. 아직 표시되지 않은 경우 탐색 표시줄의 Projects 메뉴에서 원하는 프로젝트를 선택합니다.

  3. Projects 메뉴 옆에 있는 Options 메뉴를 펼친 다음 Project Settings 를 클릭합니다.

    프로젝트 설정 페이지가 표시됩니다.

2

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 hr (default)

    • 12 hr

    • 8 hr

    • 1 hr

    • 10 min

전체 쿼리 및 실행 통계를 보려면 차트에서 해당 쿼리를 나타내는 지점을 클릭합니다. x축과 y축을 클릭하고 드래그하여 수집된 데이터의 특정 하위 집합을 확대할 수도 있습니다. 분류된 작업 그룹에 대한 자세한 내용을 보면 그룹에서 임의의 작업이 선택됩니다. 분류된 작업 그룹 내에서 특정 작업에 대한 세부 정보를 보려면 확대해야 합니다.

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

  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

돌아가기

쿼리 지연 시간