Tutorial: Query Performance Insight for Azure Database for MySQL - Servidor flexível

APLICA-SE A: Banco de Dados do Azure para MySQL - Servidor Flexível

O Query Performance Insight propõe fornecer análise de consulta inteligente para bancos de dados. Os insights mais preferidos são os padrões de carga de trabalho e as consultas de execução mais longa. Compreender essas informações pode ajudá-lo a encontrar quais consultas otimizar para melhorar o desempenho geral e usar seus recursos disponíveis de forma eficiente.

O Query Performance Insight foi projetado para ajudá-lo a gastar menos tempo solucionando problemas de desempenho do banco de dados, fornecendo informações como:

  • Top N consultas de longa duração e suas tendências.
  • Os detalhes da consulta: exiba o histórico de execução com tempo de consulta mínimo, máximo, médio e desvio padrão.
  • As utilizações de recursos (CPU, memória e armazenamento).

Este artigo discute como usar o Banco de Dados do Azure para logs de consulta lenta do servidor MySQL, a ferramenta Análise de Log e modelos de pastas de trabalho para visualizar o Query Performance Insight for Azure Database for MySQL flexible server.

Neste tutorial, irá aprender a:

  • Configurar logs de consulta lenta usando o portal do Azure ou a CLI do Azure
  • Configurar diagnósticos
  • Exibir logs de consultas lentas usando o Log Analytics
  • Exibir logs de consulta lentos usando pastas de trabalho

Pré-requisitos

Configurar logs de consulta lentos usando o portal do Azure

  1. Inicie sessão no portal do Azure.

  2. Selecione seu Banco de Dados do Azure para instância de servidor flexível do MySQL.

  3. No painel esquerdo, em Configurações, selecione Parâmetros do servidor.

    Captura de ecrã a mostrar a lista 'Parâmetros do servidor'.

  4. Para o parâmetro slow_query_log, selecione ON.

    Captura de tela mostrando o parâmetro 'slow_query_log' alternado para 'ON'.

  5. Para os outros parâmetros, como long_query_time e log_slow_admin_statements, consulte a documentação de logs de consulta lenta.

    Captura de tela mostrando valores atualizados para os parâmetros restantes relacionados ao log de consulta lenta.

  6. Selecione Guardar.

    Captura de ecrã do botão 'Guardar' para guardar alterações nos valores dos parâmetros.

Você pode retornar à lista de logs fechando a página Parâmetros do servidor.

Configurar logs de consulta lenta usando a CLI do Azure

Como alternativa, você pode habilitar e configurar logs de consulta lenta para sua instância de servidor flexível do Banco de Dados do Azure para MySQL a partir da CLI do Azure executando o seguinte comando:

Importante

Para garantir que o desempenho da instância flexível do servidor do Banco de Dados do Azure para MySQL não seja fortemente afetado, recomendamos que você registre apenas os tipos de eventos e usuários necessários para fins de auditoria.

  • Habilite logs de consulta lenta.
az mysql flexible-server parameter set \
--name slow_query_log \
--resource-group myresourcegroup \
--server-name mydemoserver \
--value ON
  • Defina long_query_time tempo para 10 segundos. Essa configuração registrará todas as consultas executadas por mais de 10 segundos. Ajuste esse limite com base na sua definição para consultas lentas.
az mysql server configuration set \
--name long_query_time \
--resource-group myresourcegroup \
--server mydemoserver \
--value 10

Configurar diagnósticos

Os logs de consulta lenta são integrados às configurações de diagnóstico do Azure Monitor para permitir que você canalize seus logs para qualquer um dos três coletores de dados:

  • Um espaço de trabalho do Log Analytics
  • Um hub de eventos
  • Uma conta de armazenamento

Nota

Você deve criar seus coletores de dados antes de definir as configurações de diagnóstico. Você pode acessar os logs de consulta lenta nos coletores de dados configurados. Pode levar até 10 minutos para que os logs apareçam.

  1. No painel esquerdo, em Monitoramento, selecione Configurações de diagnóstico.

  2. No painel Configurações de diagnóstico, selecione Adicionar configuração de diagnóstico.

    Captura de ecrã da ligação 'Adicionar definição de diagnóstico' no painel 'Definições de diagnóstico'.

  3. Na caixa Nome, insira um nome para a configuração de diagnóstico.

  4. Especifique para quais destinos (espaço de trabalho do Log Analytics, um hub de eventos ou uma conta de armazenamento) enviar os logs de consulta lenta marcando as caixas de seleção correspondentes.

    Nota

    Para este tutorial, você enviará os logs de consulta lenta para um espaço de trabalho do Log Analytics.

  5. Em Log, para o tipo de log, marque a caixa de seleção MySqlSlowLogs .

    Captura de ecrã do painel 'Definições de diagnóstico' para selecionar opções de configuração.

  6. Depois de configurar os coletores de dados para canalizar os logs de consulta lenta, selecione Salvar.

    Captura de ecrã das opções de configuração de definições de diagnóstico, com Guardar realçado.

Exibir informações de consulta usando o Log Analytics

  1. No Log Analytics, no painel esquerdo, em Monitoramento, selecione Logs.

  2. Feche a janela Consultas que se abre.

    Captura de ecrã do painel 'Consultas' do Log Analytics.

  3. Na janela de consulta, você pode escrever a consulta a ser executada. Para localizar consultas com mais de 10 segundos em um servidor específico, usamos o seguinte código:

    AzureDiagnostics
       | where Category == 'MySqlSlowLogs'
       | project TimeGenerated, LogicalServerName_s, event_class_s, start_time_t , query_time_d, sql_text_s 
       | where query_time_d > 10
    
  4. Selecione o Intervalo de tempo e execute a consulta. Os resultados são exibidos na imagem a seguir:

    Captura de ecrã de um registo de consultas lento.

Exibir insights de consulta usando pastas de trabalho

  1. No portal do Azure, no painel esquerdo, em Monitoramento para sua instância de servidor flexível do Banco de Dados do Azure para MySQL, selecione Pastas de trabalho.

  2. Selecione o modelo Query Performance Insight .

    Captura de ecrã a mostrar todos os livros na galeria de livros.

Na pasta de trabalho, você pode exibir as seguintes visualizações:

  • Carga de consulta
  • Total de conexões ativas
  • Tendência de consulta lenta (>tempo de consulta de 10 segundos)
  • Detalhes da consulta lenta
  • Listar as 5 consultas mais longas
  • Resumir consultas lentas por tempo de consulta mínimo, máximo, médio e desvio padrão

Captura de tela mostrando duas consultas longas.

Nota

  • Para exibir a utilização de recursos, você pode usar o modelo Visão geral.
  • Você também pode editar esses modelos e personalizá-los de acordo com suas necessidades. Para obter mais informações, consulte Pastas de trabalho do Azure.
  • Para uma visualização rápida, você também pode fixar as pastas de trabalho ou a consulta do Log Analytics no seu Painel. Para obter mais informações, consulte Criar um painel no portal do Azure.

No Query Performance Insight, duas métricas que podem ajudá-lo a encontrar possíveis gargalos são a duração e a contagem de execução. As consultas de longa duração têm o maior potencial para bloquear recursos por mais tempo, bloquear outros usuários e limitar a escalabilidade.

Em alguns casos, uma alta contagem de execução pode levar a mais viagens de ida e volta da rede. As viagens de ida e volta afetam o desempenho. Eles estão sujeitos à latência da rede e à latência do servidor downstream. Assim, a contagem de execuções pode ajudar a encontrar consultas executadas com frequência ("tagarelas"). Essas consultas são os melhores candidatos para otimização.

Próximos passos