Definição
dbStatsThe
dbStatscommand returns storage statistics for a given database.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: The fully managed service for MongoDB deployments in the cloud
Importante
This command has limited support in M0 and Flex clusters. For more information, see Unsupported Commands.
MongoDB Enterprise: a versão autogerenciada e baseada em assinatura do MongoDB
MongoDB Community: uma versão com código disponível, de uso gratuito e autogerenciada do MongoDB
Sintaxe
O comando tem a seguinte sintaxe:
db.runCommand( { dbStats: 1, scale: <number>, freeStorage: 0 } )
Campos de comando
O comando utiliza os seguintes campos:
Campos | Descrição |
|---|---|
1 | |
Opcional. O fator de escala para os dados de vários tamanhos. O padrão Se você especificar um fator de escala não inteiro, o MongoDB utilizará a parte inteira do fator especificado. Por exemplo, se você especificar um fator de escala de A partir da versão 4.2, a saída inclui o | |
Opcional. Para retornar detalhes sobre o espaço livre alocado para collections, defina If the instance has a large number of collections or indexes, obtaining free space usage data may cause processing delays. To gather |
Em mongosh, a função db.stats() fornece um wrapper em torno de dbStats.
Comportamento
O tempo necessário para executar o comando depende do tamanho total do banco de dados. Como o comando deve tocar em todos os arquivos de dados, o comando pode levar alguns segundos para ser executado.
Precisão após Desligamento Inesperado
After an unclean shutdown of a mongod using the Wired Tiger storage engine, count and size statistics reported by dbStats may be inaccurate.
A quantidade de desvio depende do número de operações de inserção, atualização ou exclusão executadas entre o último ponto de verificação e o desligamento não limpo. Os pontos de verificação geralmente ocorrem a cada 60 segundos. No entanto, mongod instâncias executadas com configurações de --syncdelay não padrão podem ter pontos de verificação mais ou menos frequentes.
Execute validate em cada collection no mongod para restaurar as estatísticas depois de um desligamento impróprio.
Após um desligamento impróprio:
validateatualiza a estatística de contagem nacollStatssaída com o valor mais recente.
Restrição de estado do membro do conjunto de réplica
To run on a replica set member, dbStats operations require the member to be in PRIMARY or SECONDARY state. If the member is in another state, such as STARTUP2, the operation errors.
Saída
dbStats.viewsNúmero de visualizações no banco de dados.
dbStats.objectsNúmero de objetos (especificamente, documentos) no banco de dados em todas as collections.
dbStats.avgObjSizeAverage size of each document in bytes. This is the
dataSizedivided by the number of documents. The scale argument does not affect theavgObjSizevalue.
dbStats.dataSizeTotal size of the uncompressed data held in the database. The
dataSizedecreases when you remove documents.Para bancos de dados utilizando o mecanismo de armazenamento WiredTiger, o
dataSizepode ser maior questorageSizese a compressão estiver habilitada. OdataSizediminui quando os documentos diminuem.
dbStats.storageSizeSoma do espaço em disco alocado a todas as collections no banco de dados para armazenamento de documentos, incluindo o espaço livre.
The
storageSizedoes not decrease as you remove or shrink documents. This value may be smaller thandataSizefor databases using the WiredTiger storage engine with compression enabled.storageSizedoes not include space allocated to indexes. SeeindexSizefor the total index size.
dbStats.freeStorageSizeSoma do espaço livre alocado a todas as collections no banco de dados para armazenamento de documentos. O espaço de armazenamento do banco de dados livre é alocado para a collection, mas não contém dados.
freeStorageSizedoes not include free space allocated to indexes. SeeindexFreeStorageSizefor the total free index size.To include this value in the
dbStatsoutput, set freeStorage to 1.Atualizado na versão 5.3.0, 5.2.1 e 5.0.6
dbStats.indexSizeSoma do espaço em disco alocado a todos os índices no banco de dados, incluindo espaço de índice livre.
Observação
Em coletas agrupadas com somente um índice padrão no campo
_ìd(sem índices secundários), o tamanho do índice aparece como zero porque a coleta não exige um arquivo de índice separado.
dbStats.indexFreeStorageSizeSoma do espaço livre em disco alocado para todos os índices no banco de dados. O espaço de armazenamento gratuito do banco de dados é alocado para o índice, mas não contém dados.
indexFreeStorageSizedoes not include free space allocated to document storage. SeefreeStorageSizefor the total free document storage size.indexFreeStorageSizenão inclui compilações de índice em andamento.To include this value in the
dbStatsoutput, set freeStorage to 1.Atualizado na versão 7.0, 6.3.2, 6.0.7, 5.3.0, 5.2.1, 5.0.19 e 5.0.6
dbStats.totalSizeSum of the disk space allocated for both documents and indexes in all collections in the database. Includes used and free storage space. This is the sum of
storageSizeandindexSize.
dbStats.totalFreeStorageSizeSum of the free storage space allocated for both documents and indexes in all collections in the database. This is the sum of
freeStorageSizeandindexFreeStorageSize.To include this value in the
dbStatsoutput, set freeStorage to 1.Atualizado na versão 5,3,0, 5.2.1 e 5.0.6.
dbStats.scaleFactorscalevalor usado pelo comando.Se você especificou um fator de escala não inteiro, o MongoDB utilizará a parte inteira do fator especificado. Por exemplo, se você especificar um fator de escala de
1023.999, MongoDB utilizará1023como o fator de escala.
Exemplos
The following examples demonstrate dbStats usage.
Limite de dados retornados
Para limitar os dados retornados a um único campo, anexe o nome do campo ao comando dbStats. Este exemplo retorna o valor indexSize:
db.runCommand( { dbStats: 1 } ).indexSize
Ver espaço livre alocado para collections
To view free storage usage, set freeStorage to 1.
db.runCommand( { dbStats: 1, scale: 1024, freeStorage: 1 } )
Saída de exemplo:
{ 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 }) }
O campo freeStorage habilita a coleção e a exibição das métricas destacadas.
O campo escala define os valores exibidos para kilobytes.