문서 메뉴

문서 홈애플리케이션 개발MongoDB 매뉴얼

dbStats

이 페이지의 내용

  • 정의
  • 구문
  • 명령 필드
  • 행동
  • 출력
  • 예제
dbStats

dbStats 명령은 지정된 데이터베이스에 대한 스토리지 통계를 반환합니다.

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

db.runCommand(
{
dbStats: 1,
scale: <number>,
freeStorage: 0
}
)

이 명령은 다음 필드를 사용합니다.

필드
설명
dbStats
1

선택 사항입니다. 다양한 크기의 데이터에 대한 배율 인수입니다. 크기 데이터를 바이트 단위로 반환하려면 scale 기본값은 1입니다. 바이트가 아닌 킬로바이트를 표시하려면 scale1024로 지정합니다.

정수가 아닌 배율 인수를 지정하면 MongoDB는 지정된 인수의 정수 부분을 사용합니다. 예를 들어, 배율 인수를 1023.999 으로 지정하면 MongoDB는 배율 인수로 1023 을 사용합니다.

버전 4.2부터 출력에 크기 값의 크기를 조정하는 데 사용되는 scaleFactor 이 포함됩니다.

선택 사항입니다. 컬렉션에 할당된 여유 공간에 대한 정보를 반환하려면 freeStorage를 1로 설정합니다.

인스턴스에 많은 수의 컬렉션 또는 인덱스가 있는 경우 여유 공간 사용량 데이터를 가져오면 처리 지연이 발생할 수 있습니다. 여유 공간 세부 정보 없이 dbStats 정보를 수집하려면 freeStorage 를 0 로 설정하거나 필드를 포함하지 않습니다.

mongosh 에서 db.stats() 함수는 dbStats 주위에 래퍼를 제공합니다.

명령을 실행하는 데 필요한 시간은 데이터베이스의 총 크기에 따라 달라집니다. 명령은 모든 데이터 파일을 처리해야 하므로 명령을 실행하는 데 몇 초 정도 걸릴 수 있습니다.

Wired Tiger 스토리지 엔진을 사용하여 mongod 를 비정상적으로 종료한 후 에서 보고하는 개수 및 크기 통계가 dbStats 부정확할 수 있습니다.

편차의 정도는 마지막 체크포인트와 비정상 종료 사이에 수행된 삽입, 업데이트 또는 삭제 작업의 수에 따라 달라집니다. 체크포인트는 보통 60초마다 발생합니다. 그러나mongod 기본값이 아닌 --syncdelay 설정으로 실행되는 인스턴스는 체크포인트가 다소 빈번하게 발생할 수 있습니다.

mongod의 각 컬렉션에서 validate를 실행하여 비정상 종료 후 통계를 복원합니다.

비정상 종료 후

복제본 세트 멤버에서 실행하려면 dbStats 작업을 수행하려면 멤버가 PRIMARY 또는 SECONDARY 상태여야 합니다. 멤버가 다른 상태(예: STARTUP2)에 있는 경우 작업 오류가 발생합니다.

dbStats.db

데이터베이스의 이름입니다.

dbStats.collections

데이터베이스에 있는 컬렉션의 수입니다.

dbStats.views

데이터베이스의 수입니다.

dbStats.objects

모든 컬렉션의 데이터베이스에 있는 개체(특히, 문서)의 수입니다.

dbStats.avgObjSize

각 문서의 평균 크기(바이트)입니다. 이는 dataSize 을 문서 수로 나눈 값입니다. 확장 인수avgObjSize 값에 영향을 주지 않습니다.

dbStats.dataSize

데이터베이스에 보관된 비압축 데이터의 총 크기입니다. 문서를 제거하면 dataSize 이 감소 합니다.

압축이 활성화된 경우 WiredTiger 스토리지 엔진을 사용하는 데이터베이스의 경우 dataSizestorageSize보다 클 수 있습니다. 문서가 축소되면 dataSize가 감소합니다.

dbStats.storageSize

여유 공간을 포함하여 문서 저장을 위해 데이터베이스의 모든 컬렉션에 할당된 디스크 공간의 합계입니다.

문서를 제거하거나 축소해도 는 줄어들지 않습니다. 압축 이 활성화된 storageSize dataSize WiredTiger 스토리지 엔진을 사용하는 데이터베이스의 경우 이 값이 보다 작을 수 있습니다.

storageSize 에는 인덱스에 할당된 공간이 포함되어 있지 않습니다. 총 인덱스 크기는 indexSize 를 참조하세요.

dbStats.freeStorageSize

문서 저장을 위해 데이터베이스의 모든 컬렉션에 할당된 여유 공간의 합계입니다. 컬렉션에 여유 데이터베이스 저장 공간이 할당되었지만 데이터가 포함되어 있지 않습니다.

freeStorageSize 에는 인덱스에 할당된 여유 공간이 포함되어 있지 않습니다. 총 무료 인덱스 크기는 indexFreeStorageSize 를 참조하세요.

이 값을 dbStats 출력에 포함하려면 freeStorage 를 1 로 설정합니다.

버전 5.3.0, 5.2.1, 및 5.0.6에서 업데이트됨

dbStats.indexes

데이터베이스에 있는 모든 컬렉션의 총 인덱스 수입니다.

dbStats.indexSize

사용 가능한 인덱스 공간을 포함하여 데이터베이스의 모든 인덱스에 할당된 디스크 공간의 합계입니다.

dbStats.indexFreeStorageSize

데이터베이스의 모든 인덱스에 할당된 여유 디스크 공간의 합계입니다. 데이터베이스 저장소 여유 공간은 인덱스에 할당되지만 데이터는 포함하지 않습니다.

indexFreeStorageSize 에는 문서 저장소에 할당된 여유 공간이 포함되어 있지 않습니다. 총 무료 문서 저장 용량 크기는 freeStorageSize 을(를) 참조하세요.

indexFreeStorageSize 진행 중인 인덱스 빌드가 포함되지 않습니다.

이 값을 dbStats 출력에 포함하려면 freeStorage 를 1 로 설정합니다.

버전 7.0, 6.3.2, 6.0.7, 5.3.0, 5.2.1, 5.0.19 및 5.0.6에서 업데이트되었습니다.

dbStats.totalSize

데이터베이스의 모든 컬렉션에 있는 문서와 인덱스 모두에 할당된 디스크 공간의 합계입니다. 사용 및 여유 저장 공간을 포함합니다. 이는 storageSizeindexSize 의 합계입니다.

dbStats.totalFreeStorageSize

데이터베이스의 모든 컬렉션에 있는 문서와 인덱스 모두에 할당된 여유 저장 공간의 합계입니다. 이는 freeStorageSizeindexFreeStorageSize 의 합계입니다.

이 값을 dbStats 출력에 포함하려면 freeStorage 를 1 로 설정합니다.

버전 5.3.0, 5.2.1, 및 5.0.6에서 업데이트되었습니다,

dbStats.scaleFactor

scale 명령에 사용되는 값입니다.

정수가 아닌 배율 인수를 지정한 경우 MongoDB는 지정된 인수의 정수 부분을 사용합니다. 예를 들어, 배율 인수를 1023.999로 지정하면 MongoDB는 배율 인수로 1023을 사용합니다.

dbStats.fsUsedSize

MongoDB가 데이터를 저장하는 파일 시스템에서 사용 중인 모든 디스크 공간의 총 크기입니다.

다음도 참조하세요.

dbStats.fsTotalSize

MongoDB가 데이터를 저장하는 파일시스템의 모든 디스크 용량의 총 크기입니다.

다음 예제는 dbStats 사용법을 보여줍니다.

반환되는 데이터를 단일 필드로 제한하려면 dbStats 명령에 필드 이름을 추가합니다. 이 예에서는 indexSize 값을 반환합니다.

db.runCommand( { dbStats: 1 } ).indexSize

무료 스토리지 사용량을 보려면 freeStorage 를 1 로 설정합니다.

db.runCommand( { dbStats: 1, scale: 1024, freeStorage: 1 } )

출력 예시:

{
db: 'test',
collections: 2,
views: 0,
objects: 1689,
avgObjSize: 52.56542332741267,
dataSize: 86.7021484375,
storageSize: 100,
freeStorageSize: 32,
indexes: 2,
indexSize: 116,
indexFreeStorageSize: 36,
totalSize: 216,
totalFreeStorageSize: 68,
scaleFactor: 1024,
fsUsedSize: 60155820,
fsTotalSize: 61255492,
ok: 1,
'$clusterTime': {
clusterTime: Timestamp({ t: 1646085664, i: 1 }),
signature: {
hash: Binary(Buffer.from("0000000000000000000000000000000000000000", "hex"), 0),
keyId: Long("0")
}
},
operationTime: Timestamp({ t: 1646085664, i: 1 })
}

freeStorage 공간 필드를 사용하면 강조 표시된 메트릭을 수집하고 표시할 수 있습니다.

scale 필드는 표시되는 값을 킬로바이트로 설정합니다.

← DB해시