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 |
mongoshEm, a função fornece um wrapper em db.stats() torno dbStats de.
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
Depois de um desligamento impróprio de um mongod usando o mecanismo de armazenamento Wired Tiger, as estatísticas de contagem e tamanho informadas pelo dbStats podem ser imprecisas.
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
Para executar em um membro do conjunto de réplicas, dbStats as operações do exigem que o membro esteja no estado ou.PRIMARY Se o membro estiver em SECONDARY STARTUP2 outro estado, como, os erros de operação.
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.avgObjSizeTamanho médio de cada documento em bytes. Este é o dividido pelo
dataSizenúmero de documentos. O argumento de escala não afeta oavgObjSizevalor.
dbStats.dataSizeTamanho total dos dados não comprimidos mantidos no banco de dados. O diminui quando você
dataSizeremove documentos.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.
O
storageSizenão diminui à medida que você remove ou reduz documentos. Esse valor pode ser menor que para bancos de dados que usamdataSizeo mecanismo de armazenamento WiredTiger com a compactação ativada.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.
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.
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.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.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
Os exemplos a seguir demonstram o uso dbStats do.
Limite de dados retornados
Para limitar os dados retornados a um único campo, anexe o nome do campo ao comando. Este dbStats indexSize exemplo retorna o valor:
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.