A criação de perfil e o monitoramento do N1QL são uma grande parte da versão 5.0 do Couchbase Server (já disponível para download).

Workbench de consulta

Mais uma vez, vou me concentrar em Workbench de consulta para esta postagem do blog.

Apenas para revisar, há outras opções para executar consultas N1QL:

Pessoalmente, considero o Query Workbench mais fácil de usar, pois ele apresenta a criação de perfil de forma mais visual.

Criação de perfis de consultas complexas

Vamos dar uma olhada no amostra de viagem novamente, assim como fiz nas postagens anteriores. Estou usando o bucket travel-sample, mas removi um dos índices (DROP INDEX travel-sample.def_sourceairport;).

Em seguida, executo uma consulta N1QL para encontrar rotas entre duas cidades. Desta vez, vamos usar Columbus, Ohio, e Denver, Colorado.

A execução dessa consulta (em minha máquina local de nó único) levou cerca de 8 segundos dessa vez (como esperado), o que é muito lento.

Detalhamento visual da criação de perfis

Vamos dar uma olhada no plano para ver qual pode ser o problema (eu o dividi em duas linhas para que as capturas de tela caibam na postagem do blog).

Visual profiling part 1

Visual profiling part 2

Portanto, como antes, as partes mais caras do plano de consulta são o Filter e o Join. Antes, podíamos saber isso observando os números brutos e/ou as porcentagens. Mas agora temos uma maneira mais visual de saber: a cor. As partes do plano vão do cinza ao bronzeado e ao dourado com base em porcentagens e limites definidos.

No momento, os limites se baseiam na fração do tempo total de consulta gasto por uma operação:

  • Cinza: menos de 1% do tempo total
  • Bronzeado/algum dourado: 1% - 5%
  • Bronzeado/mais dourado: 5% - 20%
  • Todo em ouro: 20%

O objetivo desse perfil visual é chamar sua atenção rapidamente para as operações caras. Depois, se você quiser saber os números exatos, poderá lê-los nos detalhes (no diagrama ou até mesmo no META().plan informações).

Não vou examinar novamente a parte de criação do índice; é a mesma coisa que na última postagem do blog (apenas recriando o índice que removi para fins de demonstração).

Obrigado por seu feedback!

Interessado em experimentar alguns desses novos recursos? Faça o download do Couchbase Server 5.0 hoje!

Seus comentários sobre as versões de visualização para desenvolvedores lançadas no início deste ano ajudaram a promover melhorias. Muito obrigado!

Se tiver dúvidas, a melhor maneira de entrar em contato comigo é Twitter @mgroves ou envie-me um e-mail matthew.groves@couchbase.com.

Autor

Postado por Matthew Groves

Matthew D. Groves é um cara que adora programar. Não importa se é C#, jQuery ou PHP: ele enviará solicitações de pull para qualquer coisa. Ele tem programado profissionalmente desde que escreveu um aplicativo de ponto de venda QuickBASIC para a pizzaria de seus pais nos anos 90. Atualmente, ele trabalha como gerente sênior de marketing de produtos da Couchbase. Seu tempo livre é passado com a família, assistindo aos Reds e participando da comunidade de desenvolvedores. Ele é autor de AOP in .NET, Pro Microservices in .NET, autor da Pluralsight e Microsoft MVP.

Deixar uma resposta