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

configureQueryAnalyzer

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 액세스 제어
  • 행동
  • 출력
  • 예시
  • 자세히 알아보기
configureQueryAnalyzer

버전 7.0에 추가.

복제본 세트 또는 샤딩된 클러스터 에서 컬렉션 에 대한 쿼리 샘플링을 구성합니다. 샘플링된 쿼리는 샤드 키 의 읽기 및 쓰기 (write) 분포에 대한 지표 를 계산하기 위해 analyzeShardKey 에 정보를 제공합니다.

이 명령은 다음 환경에서 호스팅되는 배포에서 사용할 수 있습니다.

  • MongoDB Atlas: 클라우드에서의 MongoDB 배포를 위한 완전 관리형 서비스

참고

이 명령은 모든 MongoDB Atlas 클러스터에서 지원됩니다. 모든 명령에 대한 Atlas 지원에 관해 자세히 알아보려면 지원되지 않는 명령을 참조하십시오.

명령은 다음과 같은 구문을 가집니다:

db.adminCommand(
{
configureQueryAnalyzer: <string>,
mode: <string>,
samplesPerSecond: <double>
}
)

configureQueryAnalyzer 에는 다음과 같은 필드가 있습니다:

필드
유형
필요성
설명

configureQueryAnalyzer

문자열

필수 사항

쿼리 샘플링을 위해 구성할 컬렉션의 네임스페이스 입니다.

mode

문자열

필수 사항

쿼리 분석기가 실행되는 모드입니다. "full" 또는 "off" 로 설정해야 합니다.

samplesPerSecond

double

옵션

초당 샘플 수입니다.

  • mode"full" 로 설정하면 050 사이에 samplesPerSecond 를 설정해야 합니다.

  • mode"off" 로 설정하면 서버는 samplesPerSecond 을(를) 무시합니다.

자세한 내용은 samplesPerSecond 상한을 참조하세요.

configureQueryAnalyzer 에는 다음 역할 중 하나가 필요합니다.

  • dbAdmin 분석 중인 collection이 포함된 데이터베이스에 대한 역할

  • clusterManager cluster에 대한 역할

configureQueryAnalyzer 을(를) 실행할 때 다음 동작을 고려하세요.

collection이 삭제되거나 이름을 바꾸면 Query 샘플링이 자동으로 비활성화됩니다. collection을 다시 만들거나 이름을 바꾼 후 쿼리를 샘플링하려면 쿼리 샘플링을 다시 구성해야 합니다.

The upper limit for samplesPerSecond is 50. 속도가 높을수록 샘플링된 쿼리가 4일 이내에 10GB의 디스크 공간을 채우게 됩니다.

이 표는 각 샘플 속도 및 기간 조합에 대한 예상 디스크 사용량을 보여줍니다.

평균 샘플링된 쿼리 크기(kB)
samplesPerSecond
샘플링 기간(일)
샘플링된 쿼리 수
샘플링된 쿼리의 총 크기(GB)

0.5

0.1

7

60,480

0.03024

0.5

10

7

6,048,000

3.024

0.5

50

7

30,240,000

15.12

1000

50

1

4,320,000

4320

16,000

50

1

432,0000

69,120

샘플링된 쿼리는 expireAfterSeconds 가 포함된 TTL 인덱스가 있는 내부 collection에 저장됩니다. expireAfterSeconds 을(를) 구성하려면 queryAnalysisSampleExpirationSecs 서버 매개 변수를 사용합니다. 샘플링된 쿼리는 queryAnalysisSampleExpirationSecs 이후 자동으로 삭제됩니다.

쿼리 샘플링 프로세스를 모니터링하려면 $currentOp 단계를 사용하세요. 예시는 샘플링된 쿼리를 참조하세요.

모든 컬렉션 또는 특정 컬렉션에 대해 샘플링된 쿼리를 보려면 $listSampledQueries 집계 단계를 사용합니다.

  • Atlas 공유 클러스터서버리스 인스턴스에서는 configureQueryAnalyzer 를 실행 수 없습니다.

  • 독립형 배포에서는 configureQueryAnalyzer 를 실행할 수 없습니다.

  • --shardsvr 복제본 세트에 대해 직접 configureQueryAnalyzer 를 실행할 수 없습니다. 샤드 cluster에서 실행할 때는 configureQueryAnalyzer 을(를) mongos 에 대해 실행해야 합니다.

  • time-series collection에 대해 configureQueryAnalyzer 를 실행할 수 없습니다.

  • Queryable Encryption을 사용하는 컬렉션에 대해 configureQueryAnalyzer 를 실행할 수 없습니다.

configureQueryAnalyzer 이전 구성을 설명하는 필드(있는 경우)와 새 구성을 설명하는 필드가 포함된 문서를 반환합니다.

  • oldConfiguration, 이전 구성을 설명하는 필드를 포함합니다(있는 경우).

  • newConfiguration 새 구성을 설명하는 필드가 포함되어 있습니다.

configureQueryAnalyzer 다음과 유사한 문서를 반환합니다.

{
ok: 1,
oldConfiguration: {
mode: ...,
samplesPerSecond: ...
}
newConfiguration: {
...
}
}

초당 5개의 샘플 속도로 test.students 컬렉션에서 쿼리 샘플링을 활성화하려면 다음 명령을 사용합니다.

db.adminCommand(
{
configureQueryAnalyzer: "test.students",
mode: "full",
samplesPerSecond: 5
}
)

test.students collection에서 쿼리 샘플링을 비활성화하려면 다음 명령을 사용합니다.

db.adminCommand(
{
configureQueryAnalyzer: "test.students",
mode: "off"
}
)

돌아가기

configureCollectionBalancing