Tutorial: Análise de Desempenho de Consultas do servidor flexível do Banco de Dados do Azure para MySQL

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

A Análise de Desempenho de Consultas propõe fornecer uma análise de consulta inteligente para bancos de dados. Os insights com maior preferência são os padrões da carga de trabalho e as consultas de execução mais longa. Entender esses insights pode ajudar você a descobrir quais consultas otimizar para aprimorar o desempenho geral e usar seus recursos disponíveis com eficiência.

A Análise de Desempenho de Consultas foi projetada para ajudar você a gastar menos tempo solucionando problemas de desempenho do banco de dados, fornecendo informações como:

  • As N principais consultas de execução prolongada e a tendência delas.
  • Detalhes da consulta: veja o histórico de execução com o tempo mínimo, máximo e médio de consulta e também o desvio padrão.
  • As utilizações de recursos (CPU, memória e armazenamento).

Esse artigo discute como usar logs de consulta lenta do servidor flexível do Banco de Dados do Azure para MySQL, a ferramenta Log Analytics e modelos de pastas de trabalho para visualizar o Análise de Desempenho de Consultas para o servidor flexível do Banco de Dados do Azure para MySQL.

Neste tutorial, você aprenderá como:

  • Configurar os logs de consulta lenta usando o portal do Azure ou a CLI do Azure
  • Configurar o log de diagnóstico
  • Exibir os logs de consulta lenta usando o Log Analytics
  • Exibir os logs de consulta lenta usando as pastas de trabalho

Pré-requisitos

Configurar logs de consulta lenta do portal do Azure

  1. Entre no portal do Azure.

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

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

    Captura de tela mostrando a lista 'Parâmetros do servidor'.

  4. No parâmetro slow_query_log, selecione ON.

    Captura de tela mostrando o parâmetro 'slow_query_log' definido como 'ON'.

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

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

  6. Clique em Salvar.

    Captura de tela do botão 'Salvar' para salvar as alterações nos valores de parâmetro.

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

Configurar logs de consulta lenta usando a CLI do Azure

Em alternativa, pode ativar e configurar registos de consulta lenta para a sua instância de servidor flexível da Banco de Dados do Azure para MySQL a partir do CLI do Azure executando o seguinte comando:

Importante

Para garantir que o desempenho da sua instância de servidor flexível 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 o tempo long_query_time 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 o log de diagnóstico

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

  • Um workspace do Log Analytics
  • Um hub de eventos
  • Uma conta de armazenamento

Observação

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

  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 tela do link 'Adicionar configuração de diagnóstico' no painel 'Configurações de diagnóstico'.

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

  4. Especifique para quais destinos (workspace 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.

    Observação

    Neste tutorial, você enviará os logs de consulta lenta para um workspace do Log Analytics.

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

    Captura de tela do painel 'Configurações de diagnóstico' usado para selecionar opções de configuração.

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

    Captura de tela das opções de configuração das configurações de diagnóstico, com Salvar destacado.

Exibir insights de consulta usando o Log Analytics

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

  2. Feche a janela Consultas que será aberta.

    Captura de tela do painel 'Consultas' do Log Analytics.

  3. Na janela da consulta, você pode escrever a consulta a ser executada. Para localizar consultas com mais de dez 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 seguinte imagem:

    Captura de tela do log de consulta lenta.

Exibir insights de consulta usando pastas de trabalho

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

  2. Selecione o modelo Análise de Desempenho de Consultas.

    Captura de tela mostrando todas as pastas de trabalho na galeria de pastas de trabalho.

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

  • Carga de Consulta
  • Total de Conexões Ativas
  • Tendência de Consulta Lenta (>10 segundos de Tempo de Consulta)
  • Detalhes de Consulta Lenta
  • Listar as cinco consultas mais longas
  • Resumir consultas lentas pelo tempo de consulta mínimo, máximo, médio e de desvio padrão

Captura de tela mostrando duas consultas longas.

Observação

  • Para ver a utilização de recursos, você poderá usar o modelo Visão Geral.
  • Você também poderá editar esses modelos e personalizá-los de acordo com suas necessidades. Para saber mais, confira Workbooks do Azure.
  • Para uma exibição rápida, você também pode fixar as pastas de trabalho ou a consulta do Log Analytics em seu painel. Para obter informações, confira Criar um painel excluído no portal do Azure.

Na Análise de Desempenho de Consultas, duas métricas que podem ajudar você a encontrar possíveis gargalos são a duração e a contagem de execuções. Consultas de longa execução tem o maior potencial para bloquear recursos por mais tempo, bloqueando outros usuários e limitando a escalabilidade.

Em alguns casos, uma alta contagem de execuções pode levar a mais viagens de ida e volta da rede. Viagens de ida e volta e afetam o desempenho. Elas estão sujeitas à latência da rede e à latência do servidor downstream. Portanto, a contagem de execuções pode ajudar a localizar consultas executadas com frequência ("com ruídos"). Essas consultas são as melhores candidatas para otimização.

Próximas etapas