configureQueryAnalyzer
Definição
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.
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
Observação
Este comando é aceito em todos os clusters do MongoDB Atlas. Para obter informações sobre o suporte do Atlas a todos os comandos, 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.adminCommand( { configureQueryAnalyzer: <string>, mode: <string>, samplesPerSecond: <double> } )
Campos de comando
configureQueryAnalyzer
tem os seguintes campos:
Campo | Tipo | necessidade | Descrição |
---|---|---|---|
| string | Obrigatório | namespace da collection para configurar a amostragem de query. |
| string | Obrigatório | Modo em que o analisador de query é executado. Deve ser definido como |
| double | Opcional | Número de amostras por segundo.
Para obter detalhes, consulte o Limite superior de amostras por segundo. |
Controle de acesso
configureQueryAnalyzer
requer uma das seguintes funções:
dbAdmin
função no reconhecimento de data center que contém a collection que está sendo analisadaclusterManager
role em relação ao cluster
Comportamento
Considere o seguinte comportamento ao executar o configureQueryAnalyzer
:
collection descartadas e collection renomeadas
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.
Limite superior de amostras por segundo
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 |
queryAnalysisSampleExpirationSecs
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
.
Progresso da amostragem de query
Para monitorar o processo de amostragem de queries, use o estágio $currentOp
. Para obter um exemplo, consulte Queries de amostra.
Exibir query de amostra
Para ver queries de amostra de todas as collections ou de uma collection específica, use o estágio de aggregation $listSampledQueries
.
Limitações
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, oconfigureQueryAnalyzer
deve ser executado em ummongos
.Você não pode executar
configureQueryAnalyzer
em collection de time-series .Não é possível executar
configureQueryAnalyzer
em collection com Queryable Encryption.
Saída
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: { ... } }
Exemplos
Habilitar amostragem de query
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 } )
Desativar amostragem de query
Para desabilitar a amostragem de query na collection test.students
, utilize o seguinte comando:
db.adminCommand( { configureQueryAnalyzer: "test.students", mode: "off" } )