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

Explicar o detalhamento do tempo

Nesta página

  • Detalhamento do tempo
  • Áreas de query

A resposta explain para os modos de detalhamento executionStats e allPlansExecution inclui um campo stats que contém informações sobre quanto tempo uma query gasta em vários estágios de sua execução.

O detalhamento do tempo descreve as estatísticas de execução pertinentes a uma área de execução da query . Os campos a seguir mostram o detalhamento do tempo:

Campo
Tipo
Descrição
millisElapsed
Long
Tempo aproximado de relógio de parede decorrido na execução de tarefas nessa área, incluindo o tempo que os filhos da consulta passaram nessa área. O valor é o número aproximado de milissegundos decorridos durante a execução de tarefas nessa área.
invocationCounts
Map<String, Long>
Número de invocações de tarefas incluídas nesta área. O valor é um mapa de nomes de tarefas para sua contagem de invocação.

As estatísticas estão disponíveis para as seguintes áreas de query:

Opção
Descrição
context

Estatísticas relacionadas à execução da query Lucene. Há duas tarefas cujas contagens de invocação são enumeradas nesta área:

createScorer
O Scorer itera sobre os documentos e gera uma pontuação para cada documento. Invocações de createScorer criam o objeto responsável pela pontuação. Observe que o tempo associado a essa tarefa não é o tempo gasto na classificação de documentos. A contagem inclui o número de invocações scorerSupplier .
createWeight
O estado das lojas de peso associado a uma query e IndexSearcher. A contagem inclui o número de invocações createWeight .

O tempo gasto nessa área está relacionado à estrutura da query e não é baseado no número de resultados que são iterados e pontuados.

Por exemplo:

"context" : {
"millisElapsed" : NumberDouble(4.934751),
"invocationCounts" : {
"createWeight" : NumberLong(1),
"createScorer" : NumberLong(10)
}
}
match

Estatísticas relacionadas à iteração e à correspondência de documentos de resultados. Essa estatística mostra o tempo necessário para determinar qual documento é a próxima correspondência. O tempo gasto na correspondência de resultados pode variar significativamente, dependendo da natureza da query. Há duas tarefas cujas contagens de invocação são enumeradas nesta área:

nextDoc
Solicitações para avançar para o próximo documento do conjunto de resultados. Isso envolve identificar e mover saltos anteriores, ou outras tarefas necessárias para encontrar a próxima correspondência. A contagem inclui o número de invocações nextDoc e advance .
refineRoughMatch
Executa uma correspondência mais completa. Algumas query são executadas em um processo de duas fases, em que um documento é primeiro correspondido "aproximadamente" e é verificado com uma segunda fase, mais completa, somente depois de satisfazer a primeira correspondência aproximada. A tarefa refineRoughMatch é a segunda fase do processo de duas fases. A contagem inclui o número de invocações refineRoughMatch .

Por exemplo:

"match" : {
"millisElapsed" : NumberDouble(4.901597),
"invocationCounts" : {
"nextDoc" : NumberLong(541),
"refineRoughMatch" : NumberLong(0)
}
}
score

Estatísticas relacionadas à pontuação de documentos no conjunto de resultados. Há duas tarefas cujas contagens de invocação são enumeradas nesta área:

score
Classifica cada documento no conjunto de resultados. A contagem inclui o número de invocações score .
setMinCompetitiveScore
Ignora documentos cuja pontuação é menor que o valor fornecido. Indica que uma query pode ter sido capaz de reduzir o número de operações de pontuação realizadas ignorando documentos com pontuações abaixo de um limite não concorrência. A contagem inclui o número de invocações setMinCompetitiveScore .

Por exemplo:

"score" : {
"millisElapsed" : NumberDouble(3.931312),
"invocationCounts" : {
"score" : NumberLong(536),
"setMinCompetitiveScore" : NumberLong(0)
}
}

Voltar

Resumo do Lucene