On this page
collStats
在本页面
Definition
collStats
- collStats命令返回给定集合的各种存储统计信息。
要运行collStats
,请使用db.runCommand( { <command> })方法。
collStats命令具有以下语法:
{
collStats: <string>,
scale: <int>,
verbose: <boolean>
}
该命令包含以下字段:
Field | Type | Description |
---|---|---|
collStats |
string | 目标集合的名称。 |
如果该集合不存在,则collStats返回错误消息。
| scale
| int |可选。输出中用于显示项目大小的比例。默认情况下,输出以字节为单位显示大小。要显示千字节而不是字节,请指定scale
值1024
。
比例因子将值四舍五入为整数。
| verbose
|布尔值|可选。当true
时,collStats增加MMAPv1 存储引擎的报告。
默认为 false。
Behavior
意外关机后的准确度
使用Wired Tiger存储引擎关闭mongod后,collStats报告的大小统计信息可能不准确。
漂移量取决于在最后一个checkpoint和不正常关机之间执行的插入,更新或删除操作的数量。检查点通常每 60 秒出现一次。但是,以非默认--syncdelay设置运行的mongod实例可能具有或多或少的频繁检查点。
在异常关闭后,对mongod上的每个集合运行validate以恢复正确的统计信息。
Example
以下操作在restaurant
集合上运行collStats命令,并指定1024
字节的小数位数:
db.runCommand( { collStats : "restaurant", scale: 1024 } )
以下文档提供了collStats输出的表示形式。根据集合和存储引擎的配置,输出字段可能包括这些字段的子集。
{
"ns" : <string>,
"count" : <number>,
"size" : <number>,
"avgObjSize" : <number>,
"storageSize" : <number>,
"capped" : <boolean>,
"max" : <number>,
"maxSize" : <number>,
"wiredTiger" : {
"metadata" : {
"formatVersion" : <num>
},
"creationString" : <string>
"type" : <string>,
"uri" : <string>,
"LSM" : {
"bloom filters in the LSM tree" : <number>,
"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>,
"total size of bloom filters" : <number>,
"sleep for LSM checkpoint throttle" : <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 merge throttle" : <number>
},
"block-manager" : {
"file allocation unit size" : <number>,
"blocks allocated" : <number>,
"checkpoint size" : <number>,
"allocations requiring file extension" : <number>,
"blocks freed" : <number>,
"file magic number" : <number>,
"file major version number" : <number>,
"minor version number" : <number>,
"file bytes available for reuse" : <number>,
"file size in bytes" : <number>
},
"btree" : {
"btree checkpoint generation" : <number>,
"column-store variable-size deleted values" : <number>,
"column-store fixed-size leaf pages" : <number>,
"column-store internal pages" : <number>,
"column-store variable-size leaf pages" : <number>,
"pages rewritten by compaction" : <number>,
"number of key/value pairs" : <number>,
"fixed-record size" : <number>,
"maximum tree depth" : <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>,
"overflow pages" : <number>,
"row-store internal pages" : <number>,
"row-store leaf pages" : <number>
},
"cache" : {
"bytes read into cache" : <number>,
"bytes written from cache" : <number>,
"checkpoint blocked page eviction" : <number>,
"unmodified pages evicted" : <number>,
"page split during eviction deepened the tree" : <number>,
"modified pages evicted" : <number>,
"data source pages selected for eviction unable to be evicted" : <number>,
"hazard pointer blocked page eviction" : <number>,
"internal pages evicted" : <number>,
"pages split during eviction" : <number>,
"in-memory page splits" : <number>,
"overflow values cached in memory" : <number>,
"pages read into cache" : <number>,
"overflow pages read into cache" : <number>,
"pages written from cache" : 2
},
"compression" : {
"raw compression call failed, no additional data available" : <number>,
"raw compression call failed, additional data available" : <number>,
"raw compression call succeeded" : <number>,
"compressed pages read" : <number>,
"compressed pages written" : <number>,
"page written failed to compress" : <number>,
"page written was too small to compress" : 1
},
"cursor" : {
"create calls" : <number>,
"insert calls" : <number>,
"bulk-loaded cursor-insert calls" : <number>,
"cursor-insert key and value bytes inserted" : <number>,
"next calls" : <number>,
"prev calls" : <number>,
"remove calls" : <number>,
"cursor-remove key bytes removed" : <number>,
"reset calls" : <number>,
"search calls" : <number>,
"search near calls" : <number>,
"update calls" : <number>,
"cursor-update value bytes updated" : <number>
},
"reconciliation" : {
"dictionary matches" : <number>,
"internal page multi-block writes" : <number>,
"leaf page multi-block writes" : <number>,
"maximum blocks required for a page" : <number>,
"internal-page overflow keys" : <number>,
"leaf-page overflow keys" : <number>,
"overflow values written" : <number>,
"pages deleted" : <number>,
"page checksum matches" : <number>,
"page reconciliation calls" : <number>,
"page reconciliation calls for eviction" : <number>,
"leaf page key bytes discarded using prefix compression" : <number>,
"internal page key bytes discarded using suffix compression" : <number>
},
"session" : {
"object compaction" : <number>,
"open cursor count" : <number>
},
"transaction" : {
"update conflicts" : <number>
}
},
"nindexes" : <number>,
"totalIndexSize" : <number>,
"indexSizes" : {
"_id_" : <number>,
"username" : <number>
},
// ...
"ok" : <number>
}
Output
collStats.
ns
- 当前集合的名称空间,格式为
[database].[collection]
。
- 当前集合的名称空间,格式为
collStats.
size
- 集合中所有记录在内存中的总未压缩大小。 size不包括与集合相关联的任何索引的大小,totalIndexSize字段报告这些索引的大小。
对于不建议使用的 MMAPv1 存储引擎,size包含记录的padding,但不包含记录头,即每个记录 16 字节。
scale
参数影响size。数据压缩不会影响此值。
collStats.
count
- 此集合中对象或文档的数量。
collStats.
avgObjSize
- 集合中对象的平均大小(加上 MMAPv1 的任何padding)。
scale
参数不会影响此值。
- 集合中对象的平均大小(加上 MMAPv1 的任何padding)。
collStats.
storageSize
- 分配给此集合的document个存储的总存储量。
scale
参数影响此值。
- 分配给此集合的document个存储的总存储量。
如果压缩了收集数据(即默认为 WiredTiger),则存储大小将反映压缩后的大小,并且可能小于collStats.size的值。
storageSize不包括索引大小。索引大小请参见totalIndexSize。
对于 MMAPv1,storageSize不会随着您删除或收缩文档而减少。
collStats.
numExtents
- 连续分配的数据文件区域的总数。仅在使用 MMAPv1 存储引擎时存在。
collStats.
nindexes
- 集合上的索引数。所有集合的_id字段上至少都有一个索引。
collStats.
lastExtentSize
- 最后分配的范围的大小。
scale
参数影响此值。仅在使用mmapv1
存储引擎时存在。
- 最后分配的范围的大小。
collStats.
paddingFactor
- 从版本 3.0.0 开始不推荐使用:paddingFactor在 3.0.0 中不再使用,并且仅出于兼容性的原因将其硬编码为 1.0.
paddingFactor仅在使用mmapv1
存储引擎时出现。
collStats.
userFlags
- 一个数字,指示集合上用户设置的标志。 userFlags仅在使用
mmapv1
存储引擎时出现。
- 一个数字,指示集合上用户设置的标志。 userFlags仅在使用
在 3.0.0 版中进行了更改:userFlags报告usePowerOf2Sizes和noPadding标志。
0
对应于设置为false
的usePowerOf2Sizes标志和设置为false
的noPadding标志。1
对应于设置为true
的usePowerOf2Sizes标志和设置为false
的noPadding标志。2
对应于设置为false
的usePowerOf2Sizes标志和设置为true
的noPadding标志。3
对应于设置为true
的usePowerOf2Sizes标志和设置为true
的noPadding标志。
Note
MongoDB 3.0 忽略usePowerOf2Sizes标志。有关更多信息,请参见collMod和db.createCollection()。
collStats.
totalIndexSize
- 所有索引的总大小。
scale
参数影响此值。
- 所有索引的总大小。
如果索引使用前缀压缩(即默认为 WiredTiger),则在计算总数时,返回的大小将反映任何此类索引的压缩大小。
collStats.
indexSizes
- 该字段指定集合上每个现有索引的键和大小。
scale
参数影响此值。
- 该字段指定集合上每个现有索引的键和大小。
如果索引使用前缀压缩(即默认为 WiredTiger),则返回的大小将反映压缩后的大小。
collStats.
capped
- 如果集合为capped,则此字段为“ true”。
collStats.
max
- 显示capped collection中可能存在的最大文档数。
collStats.
maxSize
- 显示capped collection的最大大小。
collStats.
wiredTiger
- 3.0.0 版中的新功能。
wiredTiger仅在使用 WiredTiger 存储引擎时出现。
本文档包含 WiredTiger 引擎直接报告的数据以及其他用于内部诊断的数据。
collStats.
indexDetails
- 3.0.0 版中的新功能。
一个文档,它报告WiredTiger存储引擎中集合中每个索引的数据。其他存储引擎将返回空文档。
本文档中的字段是索引的名称,而值本身是包含存储引擎提供的索引统计信息的文档。这些统计信息供内部诊断使用。