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

dbStats

이 페이지의 내용

  • 정의
  • 호환성
  • 구문
  • 명령 필드
  • 행동
  • 출력
  • 예시
dbStats

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

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

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

중요

이 명령은 M0, M2 및 M5 클러스터에서 제한적으로 지원 됩니다. 자세한 내용은 지원되지 않는 명령을 참조하세요.

  • MongoDB Enterprise: MongoDB의 구독 기반 자체 관리 버전

  • MongoDB Community: MongoDB의 소스 사용 가능 무료 자체 관리 버전

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

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

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

필드
설명
1

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

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

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

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

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

mongoshdb.stats() 함수는 dbStats에 래퍼(wrapper)를 제공합니다.

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

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

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

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

비정상 종료 후

복제본 세트 노드에서 실행하는 경우 dbStats 작업을 수행하려면 해당 노드가 PRIMARY 또는 SECONDARY 상태에 있어야 합니다. 노드가 STARTUP2와 같은 다른 상태에 있으면 작업 오류가 발생합니다.

dbStats.db

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

dbStats.collections

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

dbStats.views

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

dbStats.objects

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

dbStats.avgObjSize

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

dbStats.dataSize

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

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

dbStats.storageSize

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

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

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해시