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

configureQueryAnalyzer

Nesta página

  • Definição
  • Sintaxe
  • Controle de acesso
  • Comportamento
  • Saída
  • Exemplos
  • Saiba mais
configureQueryAnalyzer

Novidades na versão 7.0.

Configura a amostragem de query para uma collection em um conjunto de réplicas ou cluster fragmentado. Exemplos de queries fornecem informações para analyzeShardKey calcular métricas sobre a distribuição de leitura e escrita de uma chave de shard.

O comando tem a seguinte sintaxe:

db.adminCommand(
{
configureQueryAnalyzer: <string>,
mode: <string>,
samplesPerSecond: <double>
}
)

configureQueryAnalyzer tem os seguintes campos:

Campo
Tipo
necessidade
Descrição
configureQueryAnalyzer
string
Obrigatório
namespace da collection para configurar a amostragem de query.
mode
string
Obrigatório
Modo em que o analisador de query é executado. Deve ser definido como "full" ou "off".
samplesPerSecond
em dobro
Opcional

Número de amostras por segundo.

  • Quando mode está definido como "full", samplesPerSecond deve ser definido entre 0 e 50.

  • Quando mode está definido para "off", o servidor ignora samplesPerSecond.

Para obter detalhes, consulte limite superior de amostras por segundo.

configureQueryAnalyzer requer uma das seguintes funções:

  • dbAdmin função no reconhecimento de data center que contém a collection que está sendo analisada

  • clusterManager role em relação ao cluster

Considere o seguinte comportamento ao executar o configureQueryAnalyzer:

A query sampling é desativada automaticamente quando a collection é descartada ou renomeada. Se você quiser amostrar queries depois que uma collection for recriada ou renomeada, será necessário reconfigurar a amostragem de query.

O limite superior para samplesPerSecond é 50. Uma taxa mais alta faz com que a query de amostra preencha 10 GB de espaço em disco em menos de quatro dias.

Esta tabela mostra o uso estimado do disco para cada combinação de taxa de amostragem e duração:

Tamanho Médio da query Amostrada (kB)
samplesPerSecond
Duração da amostragem (dias)
Número de query como amostra
Tamanho total das queries de amostra (GB)
0.5
0.1
7
60.480
0.03024
0.5
10
7
6.048.000
3.024
0.5
50
7
30.240.000
15.12
1000
50
1
4.320.000
4320
16.000
50
1
432,0000
69.120

Sampled query são armazenadas em uma collection interna que tem um índice TTL com expireAfterSeconds. Para configurar o expireAfterSeconds, utilize o parâmetro do servidor queryAnalysisSampleExpirationSecs . Exemplos de query são excluídas automaticamente após queryAnalysisSampleExpirationSecs.

Para monitorar o processo de amostragem de queries, use o estágio $currentOp. Para obter um exemplo, consulte Queries de amostra.

Para ver queries de amostra de todas as collections ou de uma collection específica, use o estágio de aggregation $listSampledQueries .

  • Você não pode executar o configureQueryAnalyzer em clusters compartilhados do Atlas e instâncias sem servidor.

  • Você não pode executar configureQueryAnalyzer em sistemas autônomo.

  • Você não pode executar o configureQueryAnalyzer diretamente em um conjunto de réplicas do --shardsvr . Ao executar em um cluster fragmentado, o configureQueryAnalyzer deve ser executado em um mongos.

  • Você não pode executar configureQueryAnalyzer em collection de time-series .

  • Não é possível executar configureQueryAnalyzer em collection com Queryable Encryption.

configureQueryAnalyzer retorna um documento contendo campos que descrevem a configuração antiga, se houver, e campos que descrevem a nova configuração.

  • oldConfiguration, se existir, contém campos que descrevem a configuração antiga.

  • newConfiguration contém campos que descrevem a nova configuração.

configureQueryAnalyzer retorna um documento semelhante ao seguinte:

{
ok: 1,
oldConfiguration: {
mode: ...,
samplesPerSecond: ...
}
newConfiguration: {
...
}
}

Para habilitar a amostragem de query na collection test.students a uma taxa de cinco amostras por segundo, use o seguinte comando:

db.adminCommand(
{
configureQueryAnalyzer: "test.students",
mode: "full",
samplesPerSecond: 5
}
)

Para desabilitar a amostragem de query na collection test.students , utilize o seguinte comando:

db.adminCommand(
{
configureQueryAnalyzer: "test.students",
mode: "off"
}
)

Voltar

configureCollectionBalancing

Próximo

enableSharding