AI 에이전트의 경우: 문서 인덱스는 https://www.mongodb.com/ko-kr/docs/llms.txt에서 사용할 수 있으며, 모든 페이지의 마크다운 버전은 어떤 URL 경로에 .md를 추가하여 사용할 수 있습니다.
Docs Menu

collStats (데이터베이스 명령)

collStats

버전 6.2부터 더 이상 사용되지 않습니다.

6.2 이후 버전에서는 $collStats 집계 단계를 사용합니다.

collStats 명령은 지정된 컬렉션에 대한 다양한 스토리지 통계를 반환합니다.

팁

In mongosh, this command can also be run through the stats() helper method. Specific fields in the collStats output can be accessed using the dataSize(), estimatedDocumentCount(), isCapped(), latencyStats(), storageSize(), totalIndexSize(), and totalSize() helper methods.

Helper methods are convenient for mongosh users, but they may not return the same level of information as database commands. In cases where the convenience is not needed or the additional return fields are required, use the database command.

collStats를 실행하려면 db.runCommand( { <command> } ) 메서드를 사용합니다.

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

  • MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud

참고

This command is supported in all MongoDB Atlas clusters. For information on Atlas support for all commands, see Unsupported Commands.

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

db.runCommand(
{
collStats: <string>,
scale: <int>
}
)

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

필드
유형
설명

collStats

문자열

대상 컬렉션의 이름입니다.

scale

int

선택 사항. 다양한 크기 데이터의 배율 인수입니다(필드 이름에 측정 단위를 지정하는 크기 제외). 기본값은 1로, 크기 데이터를 바이트 단위로 반환합니다. 바이트가 아닌 킬로바이트를 표시하려면 1024의 scale 값을 지정합니다.

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

배율 인수는 영향을 받는 크기 값을 정수로 반올림합니다.

Queryable Encryption을 사용하는 경우 $collStats 출력은 암호화된 컬렉션의 특정 정보를 삭제합니다.

  • 출력은 다음을 생략합니다. "queryExecStats"

  • 출력은 다음을 생략합니다. "latencyStats"

  • 출력은 "WiredTiger"(있는 경우)를 삭제하여 url 필드만 포함합니다.

지표 이름(예: "bytes currently in the cache")으로 달리 지정하지 않는 한 크기와 관련된 값은 바이트 단위로 표시되며 scale(으)로 재정의할 수 있습니다.

배율 인수는 영향을 받는 크기 값을 정수로 반올림합니다.

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

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

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

비정상 종료 후

collStats 에는 현재 작성 중인 인덱스에 대한 정보가 포함되어 있습니다. 자세한 내용은 다음을 참조하세요.

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

존재하지 않는 컬렉션에 대해 collStats를 실행하는 경우, 명령은 오류 대신 출력 필드에 0 값을 반환할 수 있습니다. 이 동작은 데이터베이스 구현에 따라 다릅니다.

For an example of this behavior, see Example.

이 페이지의 예시는 sample_mflix 데이터 세트의 데이터를 사용합니다. 이 데이터 세트를 자체 관리형 MongoDB 배포서버에 로드하는 방법에 대한 자세한 내용은 샘플 데이터세트 로드를 참조하세요. 샘플 데이터베이스를 수정한 경우, 이 페이지의 예시를 실행하려면 데이터베이스를 제거하고 다시 생성해야 할 수 있습니다.

다음 작업은 movies 컬렉션에서 collStats 명령을 실행하여 1024 바이트 규모를 지정합니다.

db.runCommand( { collStats : "movies", scale: 1024 } )
{
ok: 1,
capped: false,
ns: 'sample_mflix.movies',
size: ...,
count: 21349,
avgObjSize: 1598,
storageSize: ...,
nindexes: 2,
totalIndexSize: ...,
totalSize: ...,
indexSizes: {
_id_: ...,
cast_text_fullplot_text_genres_text_title_text: ...
},
scaleFactor: 1024
}

다음 작업은 존재하지 않는 컬렉션에서 collStats 명령을 실행합니다.

db.runCommand( { collStats : "nonExistentCollection" } )
{
ns: 'sample_mflix.nonExistentCollection',
size: 0,
count: 0,
numOrphanDocs: 0,
storageSize: 0,
totalSize: 0,
nindexes: 0,
totalIndexSize: 0,
indexDetails: {},
indexSizes: {},
scaleFactor: 1,
ok: 1
}

다음 문서에서는 collStats 출력에 대한 표현을 제공합니다. 컬렉션 및 스토리지 엔진의 구성에 따라 출력 필드가 다를 수 있습니다.

{
"ns" : <string>,
"size" : <number>,
"timeseries" : {
"bucketsNs" : <bucketName>,
"bucketCount" : <number>,
"avgBucketSize" : <number>,
"numBucketInserts" : <number>,
"numBucketUpdates" : <number>,
"numBucketsOpenedDueToMetadata" : <number>,
"numBucketsClosedDueToCount" : <number>,
"numBucketsClosedDueToSize" : <number>,
"numBucketsClosedDueToTimeForward" : <number>,
"numBucketsClosedDueToTimeBackward" : <number>,
"numBucketsClosedDueToMemoryThreshold" : <number>,
"numCommits" : <number>,
"numWaits" : <number>,
"numMeasurementsCommitted" : <number>,
"avgNumMeasurementsPerCommit": <number>
},
"count" : <number>,
"avgObjSize" : <number>,
"numOrphanDocs" : <number>, // Available starting in MongoDB 6.0
"storageSize" : <number>,
"freeStorageSize" : <number>,
"capped" : <boolean>,
"max" : <number>,
"maxSize" : <number>,
"wiredTiger" : {
"metadata" : {
"formatVersion" : <num>
},
"creationString" : <string>
"type" : <string>,
"uri" : <string>,
"LSM" : {
"bloom filter false positives" : <number>,
"bloom filter hits" : <number>,
"bloom filter misses" : <number>,
"bloom filter pages evicted from cache" : <number>,
"bloom filter pages read into cache" : <number>,
"bloom filters in the LSM tree" : <number>,
"total size of bloom filters" : <number>,
"chunks in the LSM tree" : <number>,
"highest merge generation in the LSM tree" : <number>,
"queries that could have benefited from a Bloom filter that did not exist" : <number>,
"sleep for LSM checkpoint throttle" : <number>,
"sleep for LSM merge throttle" : <number>
"total size of bloom filters" : <number>
},
"block-manager" : {
"allocations requiring file extension" : <number>,
"blocks allocated" : <number>,
"blocks freed" : <number>,
"checkpoint size" : <number>,
"file allocation unit size" : <number>,
"file bytes available for reuse" : <number>,
"file magic number" : <number>,
"file major version number" : <number>,
"file size in bytes" : <number>,
"minor version number" : <number>
},
"btree" : {
"btree checkpoint generation" : <number>,
"column-store fixed-size leaf pages" : <number>,
"column-store internal pages" : <number>,
"column-store variable-size RLE encoded values" : <number>,
"column-store variable-size deleted values" : <number>,
"column-store variable-size leaf pages" : <number>,
"fixed-record size" : <number>,
"maximum internal page key size" : <number>,
"maximum internal page size" : <number>,
"maximum leaf page key size" : <number>,
"maximum leaf page size" : <number>,
"maximum leaf page value size" : <number>,
"maximum tree depth" : <number>,
"number of key/value pairs" : <number>,
"overflow pages" : <number>,
"pages rewritten by compaction" : <number>,
"row-store empty values" : <number>,
"row-store internal pages" : <number>,
"row-store leaf pages" : <number>
},
"cache" : {
"bytes currently in the cache" : <number>,
"bytes dirty in the cache cumulative" : <number>,
"bytes read into cache" : <number>,
"bytes written from cache" : <number>,
"checkpoint blocked page eviction" : <number>,
"data source pages selected for eviction unable to be evicted" : <number>,
"eviction walk passes of a file" : <number>,
"eviction walk target pages histogram - 0-9" : <number>,
"eviction walk target pages histogram - 10-31" : <number>,
"eviction walk target pages histogram - 128 and higher" : <number>,
"eviction walk target pages histogram - 32-63" : <number>,
"eviction walk target pages histogram - 64-128" : <number>,
"eviction walks abandoned" : <number>,
"eviction walks gave up because they restarted their walk twice" : <number>,
"eviction walks gave up because they saw too many pages and found no candidates" : <number>,
"eviction walks gave up because they saw too many pages and found too few candidates" : <number>,
"eviction walks reached end of tree" : <number>,
"eviction walks started from root of tree" : <number>,
"eviction walks started from saved location in tree" : <number>,
"hazard pointer blocked page eviction" : <number>,
"in-memory page passed criteria to be split" : <number>,
"in-memory page splits" : <number>,
"internal pages evicted" : <number>,
"internal pages split during eviction" : <number>,
"leaf pages split during eviction" : <number>,
"modified pages evicted" : <number>,
"overflow pages read into cache" : <number>,
"page split during eviction deepened the tree" : <number>,
"page written requiring cache overflow records" : <number>,
"pages read into cache" : <number>,
"pages read into cache after truncate" : <number>,
"pages read into cache after truncate in prepare state" : <number>,
"pages read into cache requiring cache overflow entries" : <number>,
"pages requested from the cache" : <number>,
"pages seen by eviction walk" : <number>,
"pages written from cache" : <number>,
"pages written requiring in-memory restoration" : <number>,
"tracked dirty bytes in the cache" : <number>,
"unmodified pages evicted" : <number>
},
"cache_walk" : {
"Average difference between current eviction generation when the page was last considered" : <number>,
"Average on-disk page image size seen" : <number>,
"Average time in cache for pages that have been visited by the eviction server" : <number>,
"Average time in cache for pages that have not been visited by the eviction server" : <number>,
"Clean pages currently in cache" : <number>,
"Current eviction generation" : <number>,
"Dirty pages currently in cache" : <number>,
"Entries in the root page" : <number>,
"Internal pages currently in cache" : <number>,
"Leaf pages currently in cache" : <number>,
"Maximum difference between current eviction generation when the page was last considered" : <number>,
"Maximum page size seen" : <number>,
"Minimum on-disk page image size seen" : <number>,
"Number of pages never visited by eviction server" : <number>,
"On-disk page image sizes smaller than a single allocation unit" : <number>,
"Pages created in memory and never written" : <number>,
"Pages currently queued for eviction" : <number>,
"Pages that could not be queued for eviction" : <number>,
"Refs skipped during cache traversal" : <number>,
"Size of the root page" : <number>,
"Total number of pages currently in cache" : <number>
},
"compression" : {
"compressed page maximum internal page size prior to compression" : <number>,
"compressed page maximum leaf page size prior to compression " : <number>,
"compressed pages read" : <number>,
"compressed pages written" : <number>,
"page written failed to compress" : <number>,
"page written was too small to compress" : 1
},
"cursor" : {
"bulk loaded cursor insert calls" : <number>,
"cache cursors reuse count" : <number>,
"close calls that result in cache" : <number>,
"create calls" : <number>,
"insert calls" : <number>,
"insert key and value bytes" : <number>,
"modify" : <number>,
"modify key and value bytes affected" : <number>,
"modify value bytes modified" : <number>,
"next calls" : <number>,
"open cursor count" : <number>,
"operation restarted" : <number>,
"prev calls" : <number>,
"remove calls" : <number>,
"remove key bytes removed" : <number>,
"reserve calls" : <number>,
"reset calls" : <number>,
"search calls" : <number>,
"search near calls" : <number>,
"truncate calls" : <number>,
"update calls" : <number>,
"update key and value bytes" : <number>,
"update value size change" : <num>
},
"reconciliation" : {
"dictionary matches" : <number>,
"fast-path pages deleted" : <number>,
"internal page key bytes discarded using suffix compression" : <number>,
"internal page multi-block writes" : <number>,
"internal-page overflow keys" : <number>,
"leaf page key bytes discarded using prefix compression" : <number>,
"leaf page multi-block writes" : <number>,
"leaf-page overflow keys" : <number>,
"maximum blocks required for a page" : <number>,
"overflow values written" : <number>,
"page checksum matches" : <number>,
"page reconciliation calls" : <number>,
"page reconciliation calls for eviction" : <number>,
"pages deleted" : <number>
},
"session" : {
"object compaction" : <number>,
},
"transaction" : {
"update conflicts" : <number>
}
},
"nindexes" : <number>,
"indexDetails" : {
"_id_" : {
"metadata" : {
"formatVersion" : <number>
},
...
},
...
},
"indexBuilds" : [
<string>,
],
"totalIndexSize" : <number>,
"totalSize" : <number>,
"indexSizes" : {
"_id_" : <number>,
"<indexName>" : <number>,
...
},
"scaleFactor" : <number>
"ok" : <number>
}
collStats.ns

현재 컬렉션의 네임스페이스로, [database].[collection] 형식을 따릅니다.

collStats.size

The total uncompressed size in memory of all records in a collection. The size does not include the size of any indexes associated with the collection, which the totalIndexSize field reports.

scale 인수는 이 값에 영향을 줍니다. 데이터 압축은 이 값에 영향을 주지 않습니다.

collStats.timeseries

timeseries appears when you run the collStats command on a time series collection.

이 문서에는 내부 진단용 데이터가 포함되어 있습니다.

collStats.count

이 컬렉션에 있는 객체 또는 문서의 수입니다.

collStats.avgObjSize

컬렉션에 있는 객체의 평균 크기입니다. scale 인수는 이 값에 영향을 주지 않습니다.

collStats.numOrphanDocs

컬렉션 내의 고아 문서 수입니다.

버전 6.0에 추가 되었습니다.

collStats.storageSize

문서 저장을 위해 이 컬렉션에 할당된 저장소의 총 크기입니다. scale 인수는 이 값에 영향을 줍니다.

If collection data is compressed (which is the default for WiredTiger), the storage size reflects the compressed size and may be smaller than the value for collStats.size.

storageSize does not include index size. See totalIndexSize for index sizing.

collStats.freeStorageSize

인메모리 스토리지 엔진에는 사용할 수 없습니다.

재사용할 수 있는 스토리지의 양입니다. scale 인수는 이 값에 영향을 줍니다.

이 필드는 스토리지를 재사용할 수 있는 경우에만 사용할 수 있습니다(즉 0보다 큼).

collStats.nindexes

컬렉션의 인덱스 수입니다. 모든 컬렉션에는 _id 필드에 하나 이상의 인덱스가 있습니다.

nindexes 현재 빌드 중인 인덱스가 카운트에 포함됩니다.

collStats.indexDetails

컬렉션의 각 인덱스에 대해 WiredTiger 스토리지 엔진의 데이터를 보고하는 문서입니다. 다른 스토리지 엔진은 빈 문서를 반환합니다.

이 문서의 필드는 인덱스의 이름이며, 값 자체는 스토리지 엔진에서 제공하는 인덱스에 대한 통계가 포함된 문서입니다. 이러한 통계는 내부 진단용입니다.

indexDetails 현재 구축 중인 인덱스에 대한 세부 정보를 포함하며 경고 및 오류도 포함됩니다.

collStats.indexBuilds

An array that contains the names of the indexes that are currently being built on the collection. Once an index build completes, the index does not appear in the indexBuilds.

collStats.totalIndexSize

모든 인덱스에서 사용하는 디스크 공간의 합계입니다. scale 인수는 이 값에 영향을 줍니다.

인덱스가 접두사 압축(default for WiredTiger)을 사용하는 경우, 반환된 크기는 합계를 계산할 때 해당 인덱스의 압축된 크기를 반영합니다.

totalIndexSize 현재 전체 크기로 작성 중인 인덱스를 포함합니다.

collStats.totalSize

The sum of the storageSize and totalIndexSize. The scale argument affects this value.

collStats.indexSizes

이 필드는 컬렉션에 있는 모든 기존 인덱스의 키와 크기를 지정합니다. scale 인수는 이 값에 영향을 줍니다.

인덱스가 접두사 압축(default for WiredTiger)을 사용하는 경우 반환된 크기는 압축된 크기를 반영합니다.

indexSizes 현재 빌드 중인 인덱스의 크기가 포함됩니다.

collStats.scaleFactor

명령에 사용된 scale 값입니다.

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

collStats.capped

컬렉션이 제한되어있는 경우 이 필드는 "true" 가 됩니다.

collStats.max

고정 사이즈 컬렉션에 포함될 수 있는 최대 문서 수를 표시합니다.

collStats.maxSize

고정 사이즈 컬렉션의 최대 크기를 보여 줍니다.

collStats.wiredTiger

wiredTiger only appears when using the WiredTiger storage engine. When using Queryable Encryption, WiredTiger data is redacted to only the url field.

이 문서에는 WiredTiger 엔진에서 직접 보고한 데이터와 내부 진단용 기타 데이터가 포함되어 있습니다.

collStats.inMemory

inMemory 인메모리 스토리지 엔진을 사용할 때만 표시됩니다.

이 문서에는 스토리지 엔진에서 직접 보고한 데이터와 내부 진단용으로 사용되는 기타 데이터가 포함되어 있습니다.

이 페이지 평가하기