$collStats (aggregation)
정의
$collStats
버전 3.4에 새로 추가되었습니다.
단계 또는 뷰에 관한 통계를 반환합니다.
$collStats
단계의 프로토타입 형식은 다음과 같습니다.{ $collStats: { latencyStats: { histograms: <boolean> }, storageStats: { scale: <number> }, count: {}, queryExecStats: {} } } $collStats
단계는 다음과 같은 선택적 필드가 있는 인수 문서를 허용합니다.필드 이름설명latencyStats
반환 문서에 지연 시간 통계를 추가합니다.latencyStats.histograms
true
인 경우latencyStats
에 내장된 문서에 지연 시간 히스토그램 정보를 추가합니다.storageStats
반환 문서에 저장소 통계를 추가합니다.
빈 문서(예:
storageStats: {}
)를 지정하여 다양한 크기의 데이터에 기본 배율 인수 1을 사용합니다. 배율이 1이면 반환된 크기를 바이트 단위로 표시합니다.배율 인수(예:
storageStats: { scale: <number> }
)를 지정하여 다양한 크기 데이터에 지정된 배율인수를 사용합니다. 예를 들어 바이트가 아닌 킬로바이트를 표시하려면 1024의 배율 값을 지정합니다.정수가 아닌 배율 인수를 지정하면 MongoDB는 지정된 인수의 정수 부분을 사용합니다. 예를 들어, 배율 인수를
1023.999
으로 지정하면 MongoDB는 배율 인수로1023
을 사용합니다.배율 인수는
"bytes currently in the cache"
와 같이 필드 이름에 측정 단위를 지정하는 크기에 영향을 주지 않습니다.
count
컬렉션의 총 문서 수를 반환 문서에 추가합니다.
참고
카운트는 샤드 클러스터에 대해 빠르지만 때로는 부정확한 카운트를 제공하는 컬렉션의 메타데이터를 기반으로 합니다.
count
필드를 참조하세요버전 3.6에 새로 추가되었습니다.
queryExecStats
반환 문서에 쿼리 실행 통계를 추가합니다.복제본 세트의 컬렉션 또는 클러스터의 비샤드형 컬렉션 의 경우
$collStats
는 단일 문서를 출력합니다. 샤드된 컬렉션 의 경우$collStats
은 샤드당 하나의 문서를 출력합니다. 출력 문서에는 다음 필드가 포함됩니다.필드 이름설명ns
요청된 컬렉션 또는 뷰의 네임스페이스입니다.shard
출력 문서에 해당하는 샤드의 이름입니다.
$collStats
가 샤드 클러스터에서 실행되는 경우에만 표시됩니다. 샤드 컬렉션과 샤딩되지 않은 컬렉션 모두 이 필드를 생성합니다.버전 3.6에 새로 추가되었습니다.
host
출력 문서를 생성한
mongod
프로세스의 호스트 이름과 포트입니다.버전 3.6에 새로 추가되었습니다.
localTime
유닉스 시간부터 UTC 밀리초로 표시된 MongoDB Server의 현재 시간입니다.latencyStats
컬렉션 또는 뷰에 대한 요청 지연 시간과 관련된 통계입니다.
latencyStats
문서에서 이 문서에 대한 자세한 내용을 확인하세요.latencyStats: {}
옵션이 지정된 경우에만 표시됩니다.storageStats
컬렉션의 스토리지 엔진과 관련된 통계입니다.
storageStats
문서에서 이 문서에 대한 자세한 내용을 확인하세요.다양한 크기 데이터는 지정된 요인에 따라 조정됩니다(필드 이름에 측정 단위를 지정하는 크기 제외).
storageStats
옵션이 지정된 경우에만 표시됩니다.뷰에 적용된 경우 오류를 반환합니다.
count
컬렉션의 총 문서 수입니다. 이 데이터는
storageStats.count
에서도 사용할 수 있습니다.참고
카운트는 샤드 클러스터에 대해 빠르지만 때로는 부정확한 카운트를 제공하는 컬렉션의 메타데이터를 기반으로 합니다.
count: {}
옵션이 지정된 경우에만 표시됩니다. 뷰에 적용된 경우 오류를 반환합니다.queryExecStats
컬렉션에 대한 쿼리 실행과 관련된 통계입니다.
queryExecStats: {}
옵션이 지정된 경우에만 표시됩니다. 뷰에 적용된 경우 오류를 반환합니다.
행동
$collStats
aggregation pipeline의 첫 번째 단계여야 합니다. 그렇지 않으면 파이프라인이 오류를 반환합니다.
트랜잭션
$collStats
은(는) 거래에서 허용되지 않습니다.
latencyStats
문서
latencyStats
옵션을 지정한 경우에만 latencyStats
내장된 문서가 출력에 존재합니다.
필드 이름 | 설명 |
---|---|
reads | 읽기 요청에 대한 지연 시간 통계입니다. |
writes | 쓰기 요청에 대한 지연 시간 통계입니다. |
commands | 데이터베이스 명령에 대한 지연 시간 통계입니다. |
이러한 각 필드에는 다음 필드가 포함된 내장된 문서가 포함되어 있습니다.
필드 이름 | 설명 | |||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
latency | 총 결합된 지연 시간을 마이크로초 단위로 제공하는 64비트 정수입니다. | |||||||||||||
ops | 시작 이후 컬렉션에 대해 수행된 총 작업 수를 제공하는 64비트 정수입니다. | |||||||||||||
histogram | 각각 지연 시간 범위를 나타내는 내장된 문서의 배열입니다. 각 문서는 이전 문서 범위의 두 배를 다룹니다. 2048 마이크로초에서 약 1 초 사이의 낮은 값의 경우 히스토그램에 반단계가 포함됩니다. 이 필드는 각 문서에는 다음과 같은 필드가 포함되어 있습니다.
예를 들어
이는 다음이 있었음을 나타냅니다:
|
[1] |
|
예를 들어 matrices
컬렉션에서 latencyStats: {}
옵션으로 $collStats
를 실행하는 경우입니다.
db.matrices.aggregate( [ { $collStats: { latencyStats: { histograms: true } } } ] )
이 쿼리는 다음과 유사한 결과를 반환합니다.
{ "ns" : "test.matrices", "host" : mongo.example.net:27017", "localTime" : ISODate("2017-10-06T19:43:56.599Z"), "latencyStats" : { "reads" : { "histogram" : [ { "micros" : NumberLong(16), "count" : NumberLong(3) }, { "micros" : NumberLong(32), "count" : NumberLong(1) }, { "micros" : NumberLong(128), "count" : NumberLong(1) } ], "latency" : NumberLong(264), "ops" : NumberLong(5) }, "writes" : { "histogram" : [ { "micros" : NumberLong(32), "count" : NumberLong(1) }, { "micros" : NumberLong(64), "count" : NumberLong(3) }, { "micros" : NumberLong(24576), "count" : NumberLong(1) } ], "latency" : NumberLong(27659), "ops" : NumberLong(5) }, "commands" : { "histogram" : [ { "micros" : NumberLong(196608), "count" : NumberLong(1) } ], "latency" : NumberLong(0), "ops" : NumberLong(0) }, "transactions" : { "histogram" : [ ], "latency" : NumberLong(0), "ops" : NumberLong(0) } } }
storageStats
문서
storageStats
옵션을 지정한 경우에만 storageStats
내장된 문서가 출력에 존재합니다.
이 문서의 내용은 사용 중인 스토리지 엔진에 따라 달라질 수 있습니다. 이 문서에 대한 참조는 출력을 참조하세요.
예를 들어 자체 관리 배포서버용 WiredTiger 스토리지 엔진을사용하여 matrices
컬렉션에서 storageStats: {}
옵션과 함께 $collStats
를 실행하는 경우입니다.
db.matrices.aggregate( [ { $collStats: { storageStats: { } } } ] )
이 쿼리는 다음과 유사한 결과를 반환합니다.
{ "ns" : "test.matrices", "host" : mongo.example.net:27017", "localTime" : ISODate("2020-03-06T01:44:57.437Z"), "storageStats" : { "size" : 608500363, "count" : 1104369, "avgObjSize" : 550, "storageSize" : 352878592, "freeStorageSize" : 2490380, "capped" : false, "wiredTiger" : { ... }, "nindexes" : 2, "indexDetails" : { ... }, "indexBuilds" : [ // Starting in MongoDB 4.2 "_id_1_abc_1" ], "totalIndexSize" : 260337664, "totalSize" : 613216256, "indexSizes" : { "_id_" : 9891840, "_id_1_abc_1" : 250445824 }, "scaleFactor" : 1 // Starting in MongoDB 4.2 } }
이 문서에 대한 참조는 출력을 참조하세요.
참고
진행 중인 인덱스
MongoDB 4.2부터 반환된 storageStats
에는 빌드 중인 인덱스에 대한 정보가 포함됩니다. 자세한 내용은 다음을 참조하세요.
뷰 에서 storageStats
옵션으로 $collStats
를 수행하면 오류가 발생합니다.
count
필드
버전 3.6에 새로 추가되었습니다.
count
필드는 count
옵션을 지정한 경우에만 출력에 존재합니다.
예를 들어 matrices
컬렉션에서 count: {}
옵션으로 $collStats
를 실행하는 경우입니다.
db.matrices.aggregate( [ { $collStats: { count: { } } } ] )
쿼리는 다음과 비슷한 결과를 반환합니다.
{ "ns" : "test.matrices", "host" : mongo.example.net:27017", "localTime" : ISODate("2017-10-06T19:43:56.599Z"), "count" : 1103869 }
참고
카운트는 샤드 클러스터에 대해 빠르지만 때로는 부정확한 카운트를 제공하는 컬렉션의 메타데이터를 기반으로 합니다.
storageStats: {}
가 지정된 경우 컬렉션의 총 문서 수는 storageStats.count
로도 사용 가능합니다. 자세한 내용은 storageStats
문서를 참조하세요.
queryExecStats
문서
queryExecStats
옵션을 지정한 경우에만 queryExecStats
내장된 문서가 출력에 존재합니다.
collectionScans
필드에는 다음 필드가 포함된 내장된 문서가 포함되어 있습니다.
필드 이름 | 설명 |
---|---|
total | collection 스캔을 수행한 총 쿼리 수를 제공하는 64비트 정수입니다. 이 총합은 테일 커서( tailable cursor)를 사용한 쿼리와 사용하지 않은 쿼리로 구성됩니다. |
nonTailable |
예를 들어 matrices
컬렉션에서 queryExecStats: {}
옵션으로 $collStats
를 실행하는 경우입니다.
db.matrices.aggregate( [ { $collStats: { queryExecStats: { } } } ] )
쿼리는 다음과 비슷한 결과를 반환합니다.
{ "ns": "test.matrices", "host": "mongo.example.net:27017", "localTime": ISODate("2020-06-03T14:23:29.711Z"), "queryExecStats": { "collectionScans": { "total": NumberLong(33), "nonTailable": NumberLong(31) } } }
$collStats
샤드 컬렉션에서
$collStats
샤드 컬렉션에서 실행할 때 샤드당 하나의 문서를 출력합니다. 각 출력 문서에는 문서에 해당하는 샤드 이름이 포함된 shard
필드가 포함되어 있습니다.
예를 들어 matrices
컬렉션에서 count: {}
옵션을 사용하는 샤드 컬렉션에서 $collStats
를 실행하는 경우:
db.matrices.aggregate( [ { $collStats: { count: { } } } ] )
쿼리는 다음과 비슷한 결과를 반환합니다.
{ "ns" : "test.matrices", "shard" : "s1", "host" : "s1-mongo1.example.net:27017", "localTime" : ISODate("2017-10-06T15:14:21.258Z"), "count" : 661705 } { "ns" : "test.matrices", "shard" : "s2", "host" : "s2-mongo1.example.net:27017", "localTime" : ISODate("2017-10-06T15:14:21.258Z"), "count" : 442164 }