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 discute como usar os 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 a 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
- Criar uma instância do Servidor Flexível do Banco de Dados do Azure para MySQL.
- Criar um espaço de trabalho do Log Analytics.
Configurar logs de consulta lenta do portal do Azure
Entre no portal do Azure.
Selecione a instância do Servidor Flexível do Banco de Dados do Azure para MySQL.
No painel à esquerda, em Configurações, selecione Parâmetros do servidor.
No parâmetro slow_query_log, selecione ON.
Em os outros parâmetros, como long_query_time e log_slow_admin_statements, veja a documentação de logs de consulta lenta.
Clique em Salvar.
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 do Servidor Flexível do Banco de Dados do Azure para MySQL da 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 os usuários necessários para suas finalidades 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.
No painel esquerdo, em Monitoramento, selecione Configurações de diagnóstico.
No painel Configurações de diagnóstico, selecione Adicionar configuração de diagnóstico.
Na caixa Nome, insira um nome para a configuração de diagnóstico.
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.
Em Log, para o tipo de log, marque a caixa de seleção MySqlSlowLogs.
Depois de configurar os coletores de dados para redirecionar os logs de consulta lenta, selecione Salvar.
Exibir insights de consulta usando o Log Analytics
No Log Analytics, no painel esquerdo, em Monitoramento, selecione Logs.
Feche a janela Consultas que será aberta.
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
Selecione o Intervalo de tempo e execute a consulta. Os resultados são exibidos na seguinte imagem:
Exibir insights de consulta usando pastas de trabalho
No portal do Azure, no painel esquerdo, em Monitoramento na sua instância do Servidor Flexível do Banco de Dados do Azure para MySQL, selecione Pastas de trabalho.
Selecione o modelo Análise de Desempenho de Consultas.
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
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
- Saiba mais sobre as pastas de trabalho do Azure Monitor e as opções de visualização avançadas.
- Saiba mais sobre os logs de consulta lenta.