Solucionar problemas de desempenho do banco de dados do Amazon Aurora MySQL
Esse tópico se concentra em alguns problemas comuns de desempenho do banco de dados do Aurora MySQL e em como solucionar ou coletar informações para corrigir esses problemas rapidamente. Dividimos o desempenho do banco de dados em duas categorias:
-
Desempenho do servidor: todo o servidor do banco de dados é executado mais lentamente.
-
Desempenho da consulta: uma ou mais consultas demoram mais para serem executadas.
Opções de monitoramento da AWS
Recomendamos que você use as opções de monitoramento da AWS a seguir para ajudar na solução de problemas:
-
Amazon CloudWatch: o Amazon CloudWatch monitora os recursos da AWS e as aplicações que você executa na AWS em tempo real. Você pode usar o CloudWatch para coletar e monitorar métricas, que são as variáveis mensuráveis que ajudam você a avaliar seus recursos e aplicativos. Consulte mais informações em O que é o Amazon CloudWatch?.
É possível visualizar todas as métricas e informações de processo do sistema das instâncias de banco de dados no AWS Management Console. É possível configurar seu cluster de banco de dados Aurora MySQL para publicar dados de logs gerais, lentos, de auditoria e de erros em um grupo de logs no Amazon CloudWatch Logs. Isso permite que você visualize tendências, mantenha logs se um host for afetado e crie uma linha de base para o desempenho “normal” a fim de identificar facilmente anomalias ou alterações. Para ter mais informações, consulte Publicar logs do Amazon Aurora MySQL no Amazon CloudWatch Logs.
-
Monitoramento avançado: para habilitar métricas adicionais do Amazon CloudWatch para um banco de dados do Aurora MySQL, ative o monitoramento avançado. Ao criar ou modificar um cluster de banco de dados do Aurora, selecione Habilitar monitoramento avançado. Isso permite que o Aurora publique métricas de desempenho no CloudWatch. Algumas das principais métricas disponíveis incluem uso de CPU, conexões de banco de dados, uso de armazenamento e latência de consultas. Elas podem ajudar a identificar gargalos de desempenho.
A quantidade de informações transferidas para uma instância de banco de dados é diretamente proporcional à granularidade definida para o monitoramento avançado. Um menor intervalo de monitoramento resulta em relatórios mais frequentes das métricas do sistema operacional e aumenta seu custo de monitoramento. Para gerenciar custos, defina diferentes detalhamentos para diferentes instâncias nas Contas da AWS. A granularidade padrão na criação de uma instância é de 60 segundos. Para ter mais informações, consulte Custo do monitoramento avançado.
-
Performance Insights: é possível visualizar todas as métricas de chamadas do banco de dados. Isso inclui bloqueios de banco de dados, esperas e o número de linhas processadas, todos os quais você pode usar para solucionar problemas. Ao criar ou modificar um cluster de banco de dados do Aurora, selecione Ativar o Performance Insights. Por padrão, o Performance Insights tem um período de retenção de dados de sete dias, mas pode ser personalizado para analisar tendências de desempenho de prazo maior. Para retenção de mais de sete dias, você precisa fazer upgrade para o nível pago. Consulte mais informações em Definição de preço do Performance Insights
. É possível definir o período de retenção de dados para cada instância de banco de dados do Aurora separadamente. Para ter mais informações, consulte Monitorar a carga de banco de dados com o Performance Insights no Amazon Aurora.
Motivos mais comuns para problemas de performance do banco de dados MySQL
É possível usar as etapas a seguir para solucionar problemas de desempenho no banco de dados do Aurora MySQL. Listamos essas etapas na ordem lógica da investigação, mas elas não são obrigatoriamente lineares. Uma descoberta pode ignorar certas etapas, o que permite uma série de caminhos investigativos.
-
Workload: entenda a workload do banco de dados.
-
Registro em log: revise todos os logs do banco de dados.
-
Conexões a bancos de dados: garanta que as conexões entre as aplicações e o banco de dados sejam confiáveis.
-
Performance de consultas: examine os planos de execução de consultas para ver se eles mudaram. Alterações no código podem fazer com que os planos mudem.