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).

Este artigo descreve como usar o Banco de Dados do Azure para logs de consulta lenta do servidor flexível MySQL, a ferramenta Log Analytics e modelos de pastas de trabalho para visualizar o Insight de Desempenho de Consulta para o Banco de Dados do Azure para servidor flexível 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.

    Screenshot showing the 'Server parameters' list.

  4. No parâmetro slow_query_log, selecione ON.

    Screenshot showing the 'slow_query_log' parameter switched to '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.

    Screenshot showing updated values for the remaining slow query log-related parameters.

  6. Selecione Salvar.

    Screenshot of the 'Save' button for saving changes in the parameter values.

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

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

Importante

Para garantir que o desempenho da instância do 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 lentos.
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 em 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.

    Screenshot of the 'Add diagnostic setting' link on the 'Diagnostic settings' pane.

  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.

    Screenshot of the 'Diagnostics settings' pane for selecting configuration options.

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

    Screenshot of Diagnostic settings configuration options, with Save highlighted.

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.

    Screenshot of the Log Analytics 'Queries' pane.

  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:

    Screenshot of a slow query log.

Exibir insights de consulta usando pastas de trabalho

  1. No portal do Azure, no painel esquerdo, em Monitorando 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.

    Screenshot showing all workbooks in the workbook gallery.

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

Screenshot showing two long queries.

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