Menu Docs
Página inicial do Docs
/
Manual do MongoDB
/ / /

dbStats

Nesta página

  • Definição
  • Compatibilidade
  • Sintaxe
  • Campos de comando
  • Comportamento
  • Saída
  • Exemplos
dbStats

O comando dbStats retorna estatísticas de armazenamento para um determinado banco de dados.

Esse comando está disponível em implantações hospedadas nos seguintes ambientes:

  • MongoDB Atlas: o serviço totalmente gerenciado para implantações MongoDB na nuvem

Importante

Este comando tem suporte limitado em clusters M0, M2 e M5 . Para obter mais informações, 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

O comando tem a seguinte sintaxe:

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

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

Em mongosh, a função db.stats() fornece um wrapper em torno de 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.

Após o 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 dedbStats exigem que o membro esteja no estado PRIMARY ou SECONDARY. Se o membro estiver em outro estado, como STARTUP2, ocorre um erro na 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 de 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 em disco alocado a todas as collections no banco de dados para armazenamento de documentos, incluindo o espaço livre.

O storageSize não diminui à medida que você remove ou reduz documentos. Este valor pode ser menor que dataSize para bancos de dados que usam o storage engine WiredTiger com compactação habilitada.

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 aos índices. Consulte a seção 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.3.0, 5.2.1 e 5.0.6

dbStats.indexes

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

dbStats.indexSize

Soma do espaço em disco alocado a todos os índices no banco de dados, incluindo espaço de índice livre.

dbStats.indexFreeStorageSize

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

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 em disco alocado para documentos e índices em todas as coleções 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 coleções 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,3,0, 5.2.1 e 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.

dbStats.fsUsedSize

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

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 de 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 ver 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 coleção e a exibição das métricas destacadas.

O campo escala define os valores exibidos para kilobytes.

Voltar

dHash