Menu Docs

Página inicial do DocsDesenvolver aplicaçõesManual do MongoDB

Estatísticas de banco de dados

Nesta página

  • Definição
  • Comportamento
  • Saída
  • Exemplos
dbStats

O comando dbStats retorna estatísticas de armazenamento para determinado banco de dados. O comando tem a seguinte sintaxe:

db.runCommand( {
dbStats: 1,
scale: <number>,
freeStorage: 0
} )

O comando dbStats usa os seguintes campos:

Campos
Descrição
dbStats
1

Opcional. O fator de escala para os dados de vários tamanhos. O padrão scale é 1 para retornar dados de tamanho em bytes. Para exibir kilobytes em vez de bytes, especifique um valor scale de 1024.

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 1023.999, MongoDB utilizará 1023 como o fator de escala.

A partir da versão 4.2, a saída inclui o scaleFactor utilizado para dimensionar os valores de tamanho.

Opcional. Para retornar detalhes sobre o espaço livre alocado para collections, defina freeStorage como 1.

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 informações do dbStats sem detalhes de espaço livre, configure freeStorage para 0 ou não inclua o campo.

Em mongosh, a função db.stats() fornece um invólucro em torno dbStats.

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.

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:

Para executar em um membro do conjunto de réplicas, as operações do dbStats exigem que o membro esteja no estado PRIMARY ou SECONDARY . Se o membro estiver em outro estado, como STARTUP2, os erros de operação.

dbStats.db

Nome do banco de dados.

dbStats.collections

Número de collections no banco de dados.

dbStats.views

Número de visualizações no banco de dados.

dbStats.objects

Número de objetos (especificamente, documentos) no banco de dados em todas as collections.

dbStats.avgObjSize

Tamanho médio de cada documento em bytes. Este é o dataSize dividido pelo número de documentos. O argumento de escala não afeta o valor avgObjSize .

dbStats.dataSize

Tamanho total dos dados não comprimidos mantidos no banco de dados. O dataSize diminui quando você remove documentos.

Para bancos de dados utilizando o mecanismo de armazenamento WiredTiger, o dataSize pode ser maior que storageSize se a compressão estiver habilitada. O dataSize diminui quando os documentos diminuem.

dbStats.storageSize

Soma do espaço alocado a todas as collection no reconhecimento de data center para armazenamento de documento, incluindo o espaço livre.

O storageSize não diminui à medida que você remove ou reduz documentos. Esse valor pode ser menor que para bancos de dados que usam dataSize o mecanismo de armazenamento WiredTiger com a compactação ativada.

storageSize não inclui espaço alocado para índices. Consulte indexSize para o tamanho total do índice.

dbStats.freeStorageSize

Soma 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.

freeStorageSize não inclui espaço livre alocado para índices. Consulte indexFreeStorageSize para obter o tamanho total do índice livre.

Para incluir esse valor na saída dbStats , defina freeStorage como 1.

Atualizado na versão 5,0,6.

dbStats.indexes

Número total de índices em todas as collections no banco de dados.

dbStats.indexSize

Soma do espaço alocado a todos os índices no reconhecimento de data center, incluindo espaço de índice livre.

dbStats.indexFreeStorageSize

Soma do espaço livre alocado para todos os índices no reconhecimento de data center. O espaço de armazenamento gratuito do reconhecimento de data center é alocado para o índice, mas não contém dados.

indexFreeStorageSize não inclui o espaço livre alocado para o armazenamento de documentos. Consulte freeStorageSize para saber o tamanho total do armazenamento livre de documentos.

indexFreeStorageSize não inclui compilações de índice em andamento.

Para incluir esse valor na saída dbStats , defina freeStorage como 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.totalSize

Soma do espaço 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 storageSize e indexSize.

dbStats.totalFreeStorageSize

Soma do espaço de armazenamento gratuito alocado para documentos e índices em todas as collections no banco de dados. Esta é a soma de freeStorageSize e indexFreeStorageSize.

Para incluir esse valor na saída dbStats , defina freeStorage como 1.

Atualizado na versão 5,0,6.

dbStats.scaleFactor

scale valor 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á 1023 como o fator de escala.

Novidades na versão 4.2.

dbStats.fsUsedSize

Tamanho total de todo o espaço em disco em uso no sistema de arquivos onde o MongoDB armazena dados.

Novidade na versão 3.6.

Dica

Veja também:

dbStats.fsTotalSize

Tamanho total de toda a capacidade de disco no sistema de arquivos onde o MongoDB armazena dados.

Os exemplos a seguir demonstram o uso do dbStats .

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

Para visualizar o uso de armazenamento gratuito, configure freeStorage para 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 collection e a exibição das métricas destacadas.

O campo escala define os valores exibidos para kilobytes.

← dHash