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

샤딩된 컬렉션의 조각 모음 모니터링

이 페이지의 내용

  • 이 작업에 대하여
  • 시작하기 전에
  • 절차
  • 다음 단계
  • 자세히 알아보기

샤딩된 컬렉션 의 조각 모음을 모니터 하려면 balancerCollectionStatus 명령을 사용합니다.

현재 조각 모음 상태와 처리할 남은 청크의 수를 확인할 수 있습니다. 조각 모음 진행률이 표시됩니다.

조각 모음은 다음 단계를 사용하여 컬렉션의 청크 수를 줄이고 성능을 향상시킵니다.

  1. 병합할 수 있는 동일한 샤드의 청크를 병합합니다.

  2. 더 작은 청크를 다른 샤드로 마이그레이션합니다. 작은 청크는 chunkSize 설정의 25% 미만의 데이터를 포함하는 청크입니다.

  3. 병합할 수 있는 동일한 샤드에 나머지 청크를 병합합니다.

이 작업에서는 test라는 데이터베이스에서 ordersShardedCollection이라는 샤딩된 컬렉션 예제를 사용합니다.

이 절차에서 자체 샤딩된 컬렉션과 데이터베이스를 사용할 수 있습니다.

이 작업의 절차에서는 단계를 모니터링하고 조각 모음 진행률을 확인합니다.

1

실행:

db.adminCommand(
{
balancerCollectionStatus: "test.ordersShardedCollection"
}
)
2

이전 명령은 조각 모음 상태, 현재 단계, 남은 조각 모음 작업에 대한 정보가 포함된 문서를 반환합니다. 예를 들면 다음과 같습니다.

{
"balancerCompliant": false,
"firstComplianceViolation": "defragmentingChunks",
"details": {
"currentPhase": "moveAndMergeChunks",
"progress": { "remainingChunksToProcess": 1 }
}
}

다음 표에서는 문서 필드에 대해 설명합니다.

필드
유형
설명

balancerCompliant

부울

false 컬렉션 청크를 이동해야 하는 경우. 그렇지 않으면 true.

firstComplianceViolation

문자열

네임스페이스의 청크를 이동하거나 병합해야 하는 이유를 나타냅니다. balancerCompliantfalse 인 경우에만 반환됩니다.

details

객체

현재 조각 모음 상태에 대한 추가 정보입니다. firstComplianceViolationdefragmentingChunks 인 경우에만 반환됩니다.

currentPhase

문자열

현재 조각 모음 단계:

  • 1단계의 경우 currentPhasemergeAndMeasureChunks 입니다.

    1단계에서는 동일한 샤드에 있는 연속 청크를 병합하고 해당 청크의 데이터 크기를 계산합니다.

  • 2단계에서는 currentPhasemoveAndMergeChunks 입니다.

    1단계가 완료된 후에도 작은 청크가 남아 있을 수 있습니다. 2단계에서는 이러한 작은 청크를 다른 샤드로 마이그레이션하고 해당 샤드의 청크를 병합합니다.

remainingChunksToProcess

Integer

현재 단계에서 처리할 나머지 청크의 수입니다.

반환된 문서 필드에 대한 자세한 내용은 밸런서 컬렉션 상태 출력 문서를 참조하세요.

3

조각 모음이 완료되면 명령은 다음 중 하나를 반환합니다.

  • balancerCompliant: true 컬렉션이 균형 잡힌 경우.

  • balancerCompliant: false 균형이 맞지 않는 경우 collection의 firstComplianceViolationdefragmentingChunks 이외의 문자열로 설정합니다.

조각 모음 완료 후 균형 잡힌 컬렉션의 출력 예시:

{
chunkSize: 0.2,
balancerCompliant: true,
ok: 1,
'$clusterTime': {
clusterTime: Timestamp({ t: 1677543079, i: 1 }),
signature: {
hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0),
keyId: Long("0")
}
},
operationTime: Timestamp({ t: 1677543079, i: 1 })
}

조각 모음이 아직 완료되지 않은 경우 중지할 수 있습니다. 자세한 내용 은 샤드 컬렉션 조각 모음 중지를 참조하세요.

  • 샤드 상태 인쇄, 참조 db.printShardingStatus()

  • 샤드 상태 세부 정보 조회는 다음을 참조하세요. sh.status()

  • 샤드 상태 컬렉션 필드를 보려면 샤딩된 컬렉션을 참조하세요.

  • 자세한 내용은 활성 mongos 인스턴스를 참조하세요.

  • MongoDB Atlas를 사용하여 샤드를 모니터링하려면 샤드클러스터 검토를 참조하세요.

돌아가기

시작하기