Definição
dbStatsO
dbStatscomando retorna estatísticas de armazenamento para determinado banco de dados.
Compatibilidade
Esse comando está disponível em implantações hospedadas nos seguintes ambientes:
- MongoDB Atlas: o serviço totalmente gerenciado para implantações do MongoDB na nuvem
Importante
Esse comando tem suporte limitado nos clusters M0 e Flex. Para saber mais, consulte Comandos não suportados.
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 Se a instância tiver um grande número de coleções ou índices, obter dados de uso de espaço livre pode causar atrasos no processamento. Para reunir |
In mongosh, the db.stats() function provides a wrapper around 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.storageSizenão inclui espaço alocado para índices. Consulte para o tamanho total doindexSizeíndice.
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.
freeStorageSizenão inclui espaço livre alocado para índices. Consulte para obter o tamanho total do índiceindexFreeStorageSizelivre.Para incluir esse valor na saída,
dbStatsdefina freeStorage 1como.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.
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.
indexFreeStorageSizenão inclui o espaço livre alocado para o armazenamento de documento . ConsultefreeStorageSizepara saber o tamanho total do armazenamento livre de documento .indexFreeStorageSizenão inclui compilações de índice em andamento.Para incluir esse valor na saída,
dbStatsdefina freeStorage 1como.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.totalSizeSoma do espaço em disco alocado para documentos e índices em todas as collections no banco de dados. Inclui espaço de armazenamento usado e gratuito. Esta é a soma de
storageSizeindexSizee.
dbStats.totalFreeStorageSizeSoma do espaço de armazenamento gratuito alocado para documentos e índices em todas as collections no banco de dados. Esta é a soma de
freeStorageSizeindexFreeStorageSizee.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
To limit the data returned to a single field, append the field name to the dbStats command. This example returns the indexSize value:
db.runCommand( { dbStats: 1 } ).indexSize
Ver espaço livre alocado para collections
Para visualizar o uso de armazenamento gratuito, configure freeStorage 1para.
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.