Menu Docs
Página inicial do Docs
/
MongoDB Ops Manager
/ / /

Classificação do índice de revisão

Nesta página

  • Como o Performance Advisor sugere e classifica índices
  • Ordem dos campos do índice
  • Limitando índices sugeridos
  • Exemplo: dados de trânsito da cidade de Nova York

Osíndices sugeridos pelo Performance Advisor são ordenados por suas respectivas pontuações Impact . Impact indica a melhoria de desempenho estimada que o índice sugerido traria.

O Performance Advisor monitora as queries que levam mais de 100 milissegundos para serem executadas e agrupa essas queries em formas de query comuns. O Performance Advisor calcula a ineficiência de cada forma de query considerando as seguintes métricas agregadas de queries que correspondem à forma:

  • Quantidade de tempo gasto executando a query.

  • Número de documentos digitalizados.

  • Número de documentos devolvidos.

Para estabelecer índices recomendados, o Performance Advisor usa essas métricas em uma fórmula para calcular o Impact ou a melhoria de desempenho que a criação de um índice correspondente a essa forma de query causaria. O Performance Advisor compara o tempo gasto na execução de operações específicas do índice com a latência operacional total na implantação. Quando o Performance Advisor sugere índices, os índices são classificados por sua pontuação Impact .

O tipo de operação de query na forma de query afeta a ordem dos campos utilizados para construir o índice. Em geral, os campos são classificados por sua cardinalidade.

A tabela a seguir mostra como o Performance Advisor classifica vários tipos de operação por ordem de importância relativa:

Classificação
Tipo de operação
Operador de exemplo
1
Correspondência de igualdade
2
Query de array
3
query de faixa
4
Digite query
5
Existe
6
Todos os outros operadores
7
Sort

O Performance Advisor não sugere índices que:

  • Ter mais de 16 campos e/ou

  • Contém _id como uma chave de campo.

Além disso, o Performance Advisor só sugere o índice se:

  • Para queries afetadas, a diferença entre documentos digitalizados e documentos devolvidos é maior que 500, e

  • Pelo menos 60 segundos, cumulativamente, foram gastos executando queries afetadas nas últimas 24 horas.

O Performance Advisor elimina a duplicação de índices sobrepostos antes de fazer sugestões. Por exemplo, considere se o Performance Advisor calcula os seguintes índices sugeridos em potencial:

{ a : 1 }
{ a : 1, b : 1 }

Como { a : 1 } é um prefixo de { a : 1, b : 1 }, o Performance Advisor sugere apenas { a : 1, b : 1 }. Para obter mais informações sobre prefixos de índice, consulte Prefixos.

Este exemplo usa um banco de dados chamado cab-db que contém informações sobre as corridas de t Um documento típico na collection yellow tem a seguinte aparência:

{
"_id" : ObjectId("5db9daab0b2a17b7706cd6a3"),
"pickup_datetime" : "2014-06-30 02:09:23",
"dropoff_datetime" : "2014-06-30 02:20:36",
"passenger_count" : 2,
"trip_distance" : 3,
"fare_amount" : 12,
"tip_amount" : 2.6,
"total_amount" : 15.6
}

A collection contém mais de 10 milhões de documentos, portanto, um aplicativo que precisa executar queries com base em dados de campos específicos vai gerar algumas operações muito ineficientes, a menos que a collection seja indexada corretamente.

Queries típicas para esse aplicação procuram documentos que contenham um tempo de entrega específico, combinados com um ou mais campos. Por exemplo:

db.yellow.find({ "dropoff_datetime": "2014-06-19 21:45:00",
"passenger_count": 1,
"trip_distance": {"$gt": 3 }
})

O Performance Advisor recomenda os seguintes índices para melhorar o desempenho:

Captura de tela dos índices sugeridos
clique para ampliar

Observação

Por padrão, o Performance Advisor mostra recomendações de índice para todas as collections em seu cluster. Para restringir as recomendações a uma coleção específica, selecione uma no menu suspenso Collection .

Os índices recomendados estão listados em ordem de impacto no desempenho , do maior para o menor. Neste exemplo, estima-se que o primeiro índice recomendado diminua o tempo de latência geral da operação do cluster em 50%.

A primeira recomendações é para um índice em três campos:

  • passenger_count

  • dropoff_datetime

  • trip_distance

Clique no botão Create Index para criar o índice com quaisquer opções adicionais desejadas. Para saber mais sobre como criar um índice no Performance Advisor, consulte Criar índices sugeridos.

A criação desse índice melhora o desempenho eliminando a necessidade de o mecanismo de banco de dados de dados verificar a collection inteira para encontrar documentos que correspondam à query. Queries com a forma mostrada no exemplo retornam resultados em 50 milissegundos ou menos na coleção indexada, em vez de vários segundos na coleção não indexada.

Observação

Você também pode criar índices com o chave de criptografia de dados (DEK).

Voltar

Configurar o limite de query lenta