Quero solucionar problemas de escalabilidade do Amazon Aurora Sem Servidor v2 para o Amazon Aurora, edição compatível com PostgreSQL.
Breve descrição
Se o Aurora Sem Servidor v2 não for reduzido verticalmente para a capacidade mínima, mesmo sem carga no banco de dados, você deverá atualizar os parâmetros para os padrões. O Aurora Sem Servidor v2 usa unidades de capacidade do Aurora (ACU) para medir a capacidade computacional. Cada ACU representa aproximadamente 2 gibibytes (GiB) de memória com recursos de CPU e rede correspondentes.
Se seus recursos tiverem muitas conexões ociosas ou se você tiver alta utilização da CPU por longos períodos, não será possível aumentar a escala verticalmente até a capacidade máxima. Se você configurar uma capacidade mínima para 0,5 ACU e usar o recurso de pausa automática, poderá ter problemas de inicialização a frio que levem a erros de tempo limite de conexão ou transação.
Resolução
Modifique a ACU mínima
Se você migrar de instâncias provisionadas para instâncias sem servidor, revise a métrica BufferCacheHitRatio da instância provisionada para entender o comportamento da instância de banco de dados. Se a métrica não estiver estável e cair no Aurora sem servidor, aumente as ACUs mínimas com base nas suas necessidades de desempenho de cache de buffer de banco de dados. Quanto maior a ACU mínima, mais rapidamente o banco de dados pode ser escalado verticalmente para atender à demanda do aplicativo. Para obter mais informações, consulte Como escolher a faixa de capacidade do Aurora Sem Servidor v2 para um cluster do Aurora.
Para configurar a ACU mínima, conclua as seguintes etapas:
- Abra o console do Amazon Aurora e do RDS.
- No painel de navegação, clique em Bancos de dados.
- Escolha Criar banco de dados para novos clusters ou selecione um cluster existente e escolha Modificar.
- Na seção Configuração da instância, em Faixa de capacidade, defina o valor mínimo de ACU. Para obter mais informações, consulte Faixa de capacidade em Criação de um cluster de banco de dados que usa o Aurora Sem Servidor v2.
Observação: se você ativou o Database Insights, é uma prática recomendada definir a Capacidade mínima (ACUs) como 2. Se você usar bancos de dados globais, defina a Capacidade mínima (ACUs) como 8. Para obter mais informações, consulte Como escolher a configuração mínima de capacidade do Aurora Sem Servidor v2 para um cluster em Desempenho e escalabilidade do Aurora Sem Servidor v2.
Alterar o nível de prioridade da instância do leitor
Os gravadores e leitores inativos do Aurora Sem Servidor v2 podem ser reduzidos verticalmente até o valor mínimo de ACU que você especificou para o cluster. O processamento em segundo plano e as tarefas administrativas executadas no backend podem fazer com que as instâncias sem servidor não sejam reduzidas verticalmente à ACU mínima.
Para obter mais informações, consulte Solução de problemas de capacidade do Aurora Sem Servidor v2.
Remover valores personalizados
Parâmetros do banco de dados, como max_connections e max_locks_per_transaction, afetam o comportamento de escalabilidade. Os valores personalizados não permitem que os bancos de dados sejam escalados até a capacidade mínima. Para remover valores personalizados para max_connections e max_locks_per_transaction, defina os parâmetros como o valor padrão. Em seguida, reinicialize a instância de banco de dados primária.
Reduza a pressão de conexão no banco de dados
Para reduzir a pressão de conexão no banco de dados, use o Amazon RDS Proxy para configurar o agrupamento de conexões com lógica de nova tentativa e recuo exponencial.
Revise as consultas do banco de dados
Para reduzir a carga e melhorar o desempenho de escalabilidade, revise e otimize regularmente as consultas do banco de dados. Para otimizar as consultas, execute os comandos ANALYZE e VACUUM do PostgreSQL. Para obter mais informações, consulte ANALYZE e Routine Vacuuming no site do PostgreSQL.
Monitore as métricas do CloudWatch
Para rastrear o uso real de ACU, monitore as métricas ServerlessDatabaseCapacity, ACUUtilization, CPUUtilization, eFreeableMemory do Amazon CloudWatch para Aurora Sem Servidor 2. Para receber alertas proativos sobre problemas de escalabilidade com o Aurora Sem Servidor v2, você deve configurar os alarmes do CloudWatch. Se as métricas ACUUtilization e CPUUtilization se aproximarem de 100%, seu Aurora Sem Servidor v2 tem capacidade máxima de ACU insuficiente e condições de carga extremamente altas.
Para configurar alertas para falhas de escalabilidade ou períodos estendidos de alta capacidade, consulte Criação de alarmes do CloudWatch para monitorar o Amazon Aurora.
Defina o valor para configurações de pausa automática e tempo limite
Defina os valores de pausa automática e retomada para o Aurora Sem Servidor v2. Pare e reinicie o banco de dados para recuperar fragmentos de memória que possam ter se acumulado ao longo do tempo.
Observação: se você parar e reiniciar seu banco de dados, seu banco de dados passará por um tempo de inatividade.
Informações relacionadas
Entendendo como a faixa mínima e máxima de ACU afeta a escalabilidade no Amazon Aurora Sem Servidor v2