Usar o rastreador de consultas e o painel "Performance" do Google Analytics: Explore para monitorar a performance da consulta

O rastreador de consultas da Análise e o painel Desempenho da Análise fornecem dados de performance detalhados para uma consulta da Análise. Esses dados podem ajudar a identificar os principais pontos de entrada para solucionar problemas de desempenho com consultas e fornecer recomendações de melhorias.

Analisar rastreador de consultas

O rastreador de consultas da Análise mostra o progresso de uma consulta da Análise nas três fases da consulta enquanto ela está em execução.

Se uma consulta estiver demorando muito para ser executada, o rastreador de consultas poderá indicar qual fase da consulta está causando o problema de desempenho. Isso é útil para identificar onde podem ocorrer problemas de desempenho e onde os esforços de otimização podem ser mais eficazes.

O rastreador de consultas é exibido quando uma Análise está em execução, desde que o painel Visualização ou Dados da Análise esteja aberto.

Conheça o painel Performance

Para ver o painel Desempenho da Análise, clique no link Ver detalhes de desempenho, disponível em qualquer consulta de Análise que tenha sido executada.

O painel Desempenho mostra o tempo que a consulta levou em cada uma das três fases e inclui links para a documentação de desempenho e o painel de atividade do sistema Histórico de consultas, que mostra dados de desempenho atuais e históricos da consulta e da Análise que foi usada para criar a consulta.

Fases da consulta

Quando uma Análise do Looker executa uma consulta de banco de dados, ela é executada em três fases, da seguinte maneira:

Fase de inicialização de consulta

Durante a fase de inicialização da consulta, o Looker executa todas as tarefas necessárias antes do envio da consulta ao seu banco de dados. A fase de inicialização da consulta inclui as seguintes tarefas:

A página de documentação Noções básicas sobre as métricas de desempenho de consultas descreve como usar a Análise de Métricas de desempenho de consultas em Atividade do sistema para ver detalhamentos de uma consulta. A fase de inicialização da consulta do rastreador de consultas inclui os eventos descritos na fase de worker assíncrono, na fase de inicialização e na fase de processamento de conexão da Análise Métricas de performance da consulta.

Se você tiver problemas de desempenho ou consultas que demoram muito durante a fase de inicialização da consulta, siga estas etapas:

  • Escalonar as entregas programadas: quando muitos Looks ou dashboards programados são acionados simultaneamente (especialmente no início da hora), a explosão repentina de solicitações de consulta simultâneas pode sobrecarregar os recursos da instância e saturar os pools de conexão. Esse gargalo de simultaneidade faz com que as consultas aguardem ou girem indefinidamente durante a inicialização. Programe seu conteúdo em intervalos de 15 ou 30 minutos (por exemplo, às :15, :30 ou :45) em vez de programar tudo para as :00. Para mais detalhes, consulte Otimizar o desempenho do servidor do Looker.
  • Use datagroups para programações: sempre que possível, acione as entregas programadas usando datagroups que se alinham ao seu ciclo de ETL, em vez de usar acionadores baseados em tempo. O uso de datagroups distribui a execução de consultas e evita que consultas redundantes sejam executadas em dados não atualizados.
  • Agrupar em lote e limitar chamadas de API: se scripts automatizados ou ferramentas externas acionarem consultas ou relatórios pela API Looker, agrupe as solicitações em lote ou introduza atrasos para evitar sobrecarregar as filas de inicialização de consultas.
  • Limpar processos travados: se um pico repentino de simultaneidade fizer com que as consultas fiquem travadas e a instância não responda, reinicie a instância para limpar as tarefas em andamento e redefinir as filas internas.

Fase de execução da consulta

Na fase de execução da consulta, o Looker entra em contato com o banco de dados, faz consultas e retorna os resultados. Problemas de desempenho durante essa fase podem indicar problemas com o banco de dados externo, como TDPs que levam muito tempo para serem recriadas e podem precisar de otimização, ou tabelas de banco de dados externo que podem precisar de otimização. A fase Consulta em execução inclui as seguintes tarefas:

  • Criar todas as TDPs no banco de dados necessárias para a consulta da Análise
  • Executar a consulta solicitada no banco de dados

A página de documentação Noções básicas sobre as métricas de desempenho de consultas descreve como usar a Análise de Métricas de desempenho de consultas em Atividade do sistema para ver detalhamentos de uma consulta. A fase Consulta em execução do rastreador de consultas inclui os eventos descritos na fase Consultas principais da análise Métricas de performance da consulta.

As possíveis etapas a serem seguidas se você tiver problemas de desempenho durante essa fase incluem:

  • Crie análises detalhadas usando mesclagens many_to_one sempre que possível. Unir visualizações do nível mais granular ao nível mais alto de detalhes (many_to_one) geralmente oferece o melhor desempenho de consulta.
  • Maximize o armazenamento em cache para sincronizar com suas políticas de ETL sempre que possível para reduzir o tráfego de consultas de banco de dados. Por padrão, o Looker armazena consultas em cache por uma hora. Você pode controlar a política de armazenamento em cache e sincronizar as atualizações de dados do Looker com seu processo de ETL aplicando datagroups nas análises detalhadas usando o parâmetro persist_with. A maximização do armazenamento em cache permite que o Looker se integre mais de perto ao pipeline de dados de back-end, para que o uso do cache possa ser maximizado sem o risco de analisar dados desatualizados. As políticas de armazenamento em cache nomeadas podem ser aplicadas a um modelo inteiro ou a análises individuais e tabelas derivadas persistentes (PDTs).
  • Use o recurso de reconhecimento agregado do Looker para criar resumos ou tabelas de resumo que o Looker pode usar para consultas sempre que possível, especialmente para consultas comuns de bancos de dados grandes. Também é possível usar o reconhecimento de agregação para melhorar drasticamente o desempenho de painéis inteiros. Consulte o tutorial sobre reconhecimento agregado para mais informações.
  • Use TDPs para acelerar as consultas. Converta as análises detalhadas com muitas mesclagens complexas ou de baixo desempenho, ou dimensões com subconsultas ou subseleções, em TDPs para que as visualizações sejam pré-mescladas e estejam prontas antes do ambiente de execução.
  • Se o dialeto do banco de dados for compatível com TDPs incrementais, configure TDPs incrementais para reduzir o tempo que o Looker gasta recriando tabelas de TDP.
  • Evite mesclar visualizações em Análises em chaves primárias concatenadas que são definidas no Looker. Em vez disso, faça a mesclagem nos campos de base que compõem a chave primária concatenada da visualização. Como alternativa, recrie a visualização como uma TDP com a chave primária concatenada predefinida na definição de SQL da tabela, em vez de no LookML de uma visualização.
  • Use a ferramenta Explicar no SQL Runner para fazer comparativos de mercado. EXPLAIN produz uma visão geral do plano de execução de consulta do seu banco de dados para uma determinada consulta SQL, permitindo detectar componentes de consulta que podem ser otimizados. Saiba mais no post na Comunidade Como otimizar o SQL com o EXPLAIN.
  • Declarar índices. Para conferir os índices de cada tabela diretamente no Looker pelo SQL Runner, clique no ícone de engrenagem em uma tabela e selecione Mostrar índices.

    As colunas mais comuns que podem se beneficiar de índices são datas importantes e chaves externas. Adicionar índices a essas colunas vai melhorar o desempenho de quase todas as consultas. Isso também se aplica às TDPs. Os parâmetros do LookML, como indexes, sort keys e distribution, podem ser aplicados adequadamente.

Fase de processamento de resultados

Durante a fase de processamento de resultados, o Looker processa e renderiza os resultados da consulta. A fase de processamento de resultados inclui as seguintes tarefas:

A página de documentação Noções básicas sobre as métricas de desempenho de consultas descreve como usar a Análise de Métricas de desempenho de consultas em Atividade do sistema para ver detalhamentos de uma consulta. A fase Processando resultados do rastreador de consultas inclui os eventos descritos na fase pós-consulta da análise Métricas de performance da consulta.

As possíveis etapas a serem seguidas se você tiver problemas de desempenho durante essa fase incluem:

  • Use recursos como Resultados combinados, campos personalizados e cálculos de tabela com moderação. Esses recursos são destinados ao uso como provas de conceito para ajudar a projetar seu modelo. É uma prática recomendada codificar permanentemente todos os cálculos e funções usados com frequência no LookML, o que vai gerar o SQL a ser processado no banco de dados. Cálculos excessivos podem competir pela memória Java na instância do Looker, fazendo com que ela responda mais lentamente.
  • Limite o número de visualizações incluídas em um modelo quando houver muitos arquivos de visualização. Incluir todas as visualizações em um único modelo pode reduzir o desempenho. Quando houver um grande número de visualizações em um projeto, inclua apenas os arquivos de visualização necessários em cada modelo. Considere usar convenções de nomenclatura estratégicas para nomes de arquivos de visualização para permitir a inclusão de grupos de visualizações em um modelo. Um exemplo é descrito na documentação do parâmetro includes.
  • Evite retornar um grande número de pontos de dados por padrão nos blocos de painel e Looks. Consultas que retornam milhares de pontos de dados consomem mais memória. Para garantir que os dados sejam limitados sempre que possível, aplique filtros de front-end a dashboards, Looks e Análises, e no nível do LookML com os parâmetros required filters, conditionally_filter e sql_always_where.
  • Baixe ou envie consultas usando a opção Todos os resultados com moderação, já que algumas consultas podem ser muito grandes e sobrecarregar o servidor do Looker quando processadas.