Recomendações da referência do Amazon RDS - Amazon Relational Database Service

Recomendações da referência do Amazon RDS

O Amazon RDS gera recomendações para um recurso quando esse recurso é criado ou modificado. É possível encontrar exemplos de recomendações do Amazon RDS na tabela a seguir.

Tipo Descrição Recomendação Tempo de inatividade necessário Mais informações

O volume magnético está em uso.

As instâncias de banco de dados estão usando armazenamento magnético. O armazenamento magnético não é recomendado para a maioria das instâncias de banco de dados. Escolha um tipo de armazenamento diferente: de uso geral (SSD) ou IOPS provisionadas.

Selecione um tipo de armazenamento diferente: de uso geral (SSD) ou IOPS provisionadas.

Sim

Volumes da geração anterior na documentação do Amazon EC2.

Os backups automatizados do recurso estão desativados

Os backups automatizados não estão ativados para as instâncias de banco de dados. Backups automatizados são recomendados porque permitem a recuperação para um ponto no tempo de instâncias de banco de dados.

Ative os backups automatizados com um período de retenção de até 14 dias.

Sim

Ativar backups automáticos

Desmistificar os custos de armazenamento de backup do Amazon RDS no blog de bancos de dados da AWS

A atualização da versão secundária do mecanismo é necessária.

Os recursos de banco de dados não estão executando a versão secundária mais recente do mecanismo de banco de dados. A versão secundária mais recente contém as correções de segurança mais recentes e outras melhorias.

Atualize para a versão mais recente do mecanismo.

Sim

Atualizar a versão de mecanismo de uma instância de banco de dados

O monitoramento aprimorado está desativado.

Os recursos de banco de dados não têm o monitoramento aprimorado ativado. O monitoramento avançado fornece métricas do sistema operacional em tempo real para monitoramento e solução de problemas.

Ative o monitoramento aprimorado.

Não

Monitorar métricas do SO com o monitoramento avançado

A criptografia de armazenamento está desativada.

O Amazon RDS é compatível com a criptografia em repouso para todos os mecanismos de banco de dados usando as chaves gerenciadas no AWS Key Management Service (AWS KMS). Em uma instância de banco de dados ativa com criptografia do Amazon RDS, os dados armazenados em repouso no armazenamento são criptografados, de forma semelhante aos backups automatizados, réplicas de leitura e snapshots.

Se a criptografia não estiver ativada durante a criação de uma instância de banco de dados, será necessário criar e restaurar uma cópia criptografada do snapshot descriptografado da instância de banco de dados antes de ativar a criptografia.

Ative a criptografia de dados em repouso para a instância de banco de dados.

Sim

Segurança no Amazon RDS

Copiar um snapshot de banco de dados para o Amazon RDS

O Performance Insights está desativado

O Performance Insights monitora a carga da instância de banco de dados para ajudar a analisar e solucionar problemas de performance do banco de dados. Recomendamos ativar o Performance Insights.

Ative o Performance Insights.

Não

Monitorar a carga de banco de dados com o Performance Insights no Amazon RDS

As instâncias de banco de dados têm o ajuste de escala automático do armazenamento desativado.

O ajuste de escala automático do armazenamento não está ativado para a instância de banco de dados. Quando há um aumento na workload, o ajuste de escala automático do armazenamento do RDS escala automaticamente a capacidade de armazenamento, sem tempo de inatividade.

Ative o ajuste de escala automático do armazenamento do Amazon RDS com um limite máximo de armazenamento especificado.

Não

Gerenciar a capacidade automaticamente com a escalabilidade automática de armazenamento do Amazon RDS

A atualização das versões principais dos recursos do RDS é necessária.

Bancos de dados com a versão principal atual do mecanismo de banco de dados não serão aceitos. Recomendamos atualizar para a versão principal mais recente, que inclui novas funcionalidades e aprimoramentos.

Atualize para a versão principal mais recente do mecanismo de banco de dados.

Sim

Atualizar a versão de mecanismo de uma instância de banco de dados

Usar implantações azul/verde do Amazon RDS para atualizações de banco de dados

A atualização da classe de instância de recursos do RDS é necessária.

A instância de banco de dados está executando uma classe de instância de banco de dados de uma geração anterior. Substituímos as classes de instância de banco de dados de uma geração anterior por classes de instância de banco de dados com melhor custo, performance ou ambos. Recomendamos executar a instância de banco de dados com uma classe de instância de banco de dados de uma geração mais recente.

Atualize a classe de instância de banco de dados.

Sim

Mecanismos de banco de dados compatíveis para classes de instância de banco de dados

Recursos do RDS usando a edição final do suporte do mecanismo sob licença incluída

Recomendamos atualizar a versão principal para a versão mais recente do mecanismo aceita pelo Amazon RDS para continuar com o suporte de licença atual. A versão do mecanismo do banco de dados não será compatível com a licença atual.

Recomendamos atualizar o banco de dados para a versão mais recente compatível com o Amazon RDS para continuar usando o modelo licenciado.

Sim

Atualizações da versão principal do Oracle

Instâncias de banco de dados que não usam a implantação multi-AZ

Recomendamos que você use a implantação multi-AZ. As implantações multi-AZ aumentam a disponibilidade e a durabilidade da instância de banco de dados.

Configurar multi-AZ para instâncias de banco de dados afetadas

Não

Não ocorre uma inatividade durante esta alteração. No entanto, há um possível impacto na performance. Para ter mais informações, consulte Converter uma instância de banco de dados em uma implantação multi-AZ para o Amazon RDS.

Preços do multi-AZ do Amazon RDS

Os parâmetros de memória do banco de dados estão divergindo do padrão.

Os parâmetros de memória das instâncias de banco de dados são significativamente diferentes dos valores padrão. Essas configurações podem afetar a performance e causar erros.

Recomendamos definir os parâmetros de memória personalizados da instância de banco de dados como os valores padrão no grupo de parâmetros de banco de dados.

Redefina os parâmetros de memória para os valores padrão.

Não

Best practices for configuring performance parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

O parâmetro InnoDB_Change_Buffering usando menos do que o valor ideal

O buffer de alterações permite que uma instância de banco de dados do MySQL adie algumas gravações necessárias para manter índices secundários. Esse recurso foi útil em ambientes com discos lentos. A alteração na configuração do buffer melhorou um pouco a performance do banco de dados, mas causou um atraso na recuperação de falhas e longos tempos de desligamento durante a atualização.

Defina o valor do parâmetro InnoDB_Change_Buffering como NONE nos grupos de parâmetros do banco de dados.

Não

Best practices for configuring performance parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

O parâmetro de cache de consulta está ativado.

Quando as alterações exigirem que o cache de consultas seja limpo, a instância de banco de dados parecerá paralisada. A maioria das workloads não se beneficia de um cache de consultas. O cache de consultas foi removido do MySQL versão 8.0. Recomendamos definir o parâmetro query_cache_type como 0.

Defina o valor do parâmetro query_cache_type como 0 nos grupos de parâmetros do banco de dados.

Sim

Best practices for configuring performance parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

O parâmetro log_output está definido como tabela.

Quando log_output está definido como TABLE, mais armazenamento é usado do que quando log_output está definido como FILE. Recomendamos definir o parâmetro como FILE para não atingir o limite de tamanho do armazenamento.

Defina o valor do parâmetro log_output como FILE nos grupos de parâmetros do banco de dados.

Não

Arquivos de log do banco de dados MySQL

Grupos de parâmetros que não usam páginas grandes.

Páginas grandes podem aumentar a escalabilidade do banco de dados, mas a instância de banco de dados não está usando páginas grandes. Recomendamos definir o valor do parâmetro use_large_pages como ONLY no grupo de parâmetros de banco de dados para a instância de banco de dados.

Defina o valor do parâmetro use_large_pages como ONLY nos grupos de parâmetros do banco de dados.

Sim

Ativar o HugePages para uma instância do RDS para Oracle

O parâmetro autovacuum está desativado.

O parâmetro autovacuum está desativado para instâncias de banco de dados. Desativar o autovacuum aumenta o inchaço da tabela e do índice e afeta a performance.

Recomendamos que você ative o autovacuum nos grupos de parâmetros de banco de dados.

Ative o parâmetro autovacuum nos grupos de parâmetros do de banco de dados.

Não

Understanding autovacuum in Amazon RDS for PostgreSQL environments no Blog de bancos de dados da AWS

O parâmetro synchronous_commit está desativado.

Quando o synchronous_commit parâmetro é desativado, os dados podem ser perdidos em uma falha no banco de dados. A durabilidade do banco de dados está em risco.

Recomendamos que você ative o parâmetro synchronous_commit.

Ative o parâmetro synchronous_commit nos grupos de parâmetros do banco de dados.

Sim

Parâmetros do Amazon Aurora PostgreSQL: replicação, segurança e registro em log no blog de banco de dados da AWS

O parâmetro track_counts está desativado.

Quando o parâmetro track_counts estiver desativado, o banco de dados não coletará as estatísticas de atividade do banco de dados. O autovacuum exige que essas estatísticas funcionem corretamente.

Recomendamos que você defina o parâmetro track_counts como 1.

Defina o parâmetro track_counts como 1.

Não

Estatísticas de tempo de execução do PostgreSQL

O parâmetro enable_indexonlyscan está desativado.

O planejador ou o otimizador de consultas não pode usar o plano de analisar somente o índice quando ele está desativado.

Recomendamos definir o valor do parâmetro enable_indexonlyscan como 1.

Defina o valor do parâmetro enable_indexonlyscan como 1.

Não

Configuração do método Planner para PostgreSQL

O parâmetro enable_indexscan está desativado.

O planejador ou o otimizador de consultas não pode usar o plano de analisar o índice quando ele está desativado.

Recomendamos que você defina o valor enable_indexscan como 1.

Defina o valor do parâmetro enable_indexscan como 1.

Não

Configuração do método Planner para PostgreSQL

O parâmetro innodb_flush_log_at_trx está desativado.

O valor do parâmetro innodb_flush_log_at_trx da instância de banco de dados não é um valor seguro. Esse parâmetro controla a persistência das operações de confirmação no disco.

Recomendamos que você defina o parâmetro innodb_flush_log_at_trx como 1.

Defina o valor do parâmetro innodb_flush_log_at_trx como 1.

Não

Best practices for configuring performance parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

O parâmetro sync_binlog está desativado.

A sincronização do log binário com o disco não é aplicada antes que as confirmações das transações sejam reconhecidas na instância de banco de dados.

Recomendamos definir o valor do parâmetro sync_binlog como 1.

Defina o valor do parâmetro sync_binlog como 1.

Não

Best practices for configuring replication parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

O parâmetro innodb_stats_persistent está desativado.

Sua instância de banco de dados não está configurada para manter as estatísticas do InnoDB no disco. Quando as estatísticas não são armazenadas, elas são recalculadas sempre que a instância é reiniciada e a tabela é acessada. Isso causa variações no plano de execução da consulta. Você pode modificar o valor desse parâmetro global no nível da tabela.

Recomendamos definir o valor do parâmetro innodb_stats_persistent como ON.

Defina o valor do parâmetro innodb_stats_persistent como ON.

Não

Best practices for configuring performance parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

O parâmetro innodb_open_files é baixo.

O parâmetro innodb_open_files controla o número de arquivos que o InnoDB pode abrir ao mesmo tempo. O InnoDB abre todos os arquivos de log e tablespace do sistema quando o mysqld está em execução.

Sua instância de banco de dados tem um valor baixo para o número máximo de arquivos que o InnoDB pode abrir ao mesmo tempo. Recomendamos que você defina o parâmetro innodb_open_files com um valor mínimo de 65.

Defina o parâmetro innodb_open_files como um valor mínimo de 65.

Sim

Arquivos abertos do InnoDB para MySQL

O parâmetro max_user_connections é baixo.

Sua instância de banco de dados tem um valor baixo para o número máximo de conexões simultâneas para cada conta de banco de dados.

Recomendamos definir o parâmetro max_user_connections como um número maior que 5.

Aumente o valor do parâmetro max_user_connections para um número maior que 5.

Sim

Definir limites de recursos da conta para MySQL

As réplicas de leitura são abertas no modo gravável.

A instância de banco de dados tem uma réplica de leitura no modo de gravação, que permite que os clientes realizem atualizações.

Recomendamos que você defina o parâmetro read_only como TrueIfReplica para que as réplicas de leitura não estejam no modo gravável.

Defina o valor do parâmetro read_only como TrueIfReplica.

Não

Best practices for configuring replication parameters for Amazon RDS for MySQL no Blog de bancos de dados da AWS

A configuração do parâmetro innodb_default_row_format não é segura.

A instância de banco de dados encontra um problema conhecido: uma tabela criada em uma versão do MySQL inferior à 8.0.26 com o valor row_format definido como COMPACT ou REDUNDANT ficará inacessível e irrecuperável se o índice exceder 767 bytes.

Recomendamos definir o valor do parâmetro innodb_default_row_format como DYNAMIC.

Defina o valor do parâmetro innodb_default_row_format como DYNAMIC.

Não

Alterações feitas no MySQL 8.0.26

O parâmetro general_logging está ativado.

O registro em log geral é ativado para a instância de banco de dados. Essa configuração é útil para solucionar problemas no banco de dados. No entanto, ativar o registro em log geral aumenta a quantidade de operações de E/S e o espaço de armazenamento alocado, o que pode causar contenção e degradação da performance.

Confira os requisitos para uso do registro em log geral. Recomendamos definir o valor do parâmetro general_logging como 0.

Confira os requisitos para uso do registro em log geral. Se não for obrigatório, recomendamos definir o valor do parâmetro general_logging como 0.

Não

Visão geral dos logs de banco de dados do RDS para MySQL

Instância do RDS subprovisionada para a capacidade de memória do sistema

Recomendamos ajustar as consultas para usar menos memória ou usar um tipo de instância de banco de dados com maior memória alocada. Quando a instância está com pouca memória, a performance do banco de dados é afetada.

Usar uma instância de banco de dados com maior capacidade de memória

Sim

Escalar a instância do Amazon RDS vertical e horizontalmente no blog de bancos de dados da AWS

Tipos de instância do Amazon RDS

Preços do Amazon RDS

Instância do RDS subprovisionada para a capacidade de CPU do sistema

Recomendamos ajustar as consultas para utilizar menos CPU ou modificar a instância de banco de dados para utilizar uma classe de instância de banco de dados com mais vCPUs alocadas. A performance do banco de dados pode diminuir quando uma instância de banco de dados está com pouca CPU.

Usar uma instância de banco de dados com maior capacidade de CPU

Sim

Escalar a instância do Amazon RDS vertical e horizontalmente no blog de bancos de dados da AWS

Tipos de instância do Amazon RDS

Preços do Amazon RDS

Os recursos do RDS não estão utilizando o grupo de conexões corretamente

Recomendamos habilitar o Amazon RDS Proxy para agrupar e compartilhar com eficiência as conexões de banco de dados existentes. Se você já estiver usando um proxy para o banco de dados, configure-o corretamente para melhorar o grupo de conexões e o balanceamento de carga em várias instâncias de banco de dados. O RDS Proxy pode ajudar a reduzir o risco de esgotamento da conexão e o tempo de inatividade, enquanto melhora a disponibilidade e a escalabilidade.

Habilitar o RDS Proxy ou modificar a configuração de proxy existente

Não

Escalar a instância do Amazon RDS vertical e horizontalmente no blog de bancos de dados da AWS

Usar o Amazon RDS Proxy

Preços do Amazon RDS Proxy

As instâncias do RDS estão criando objetos temporários excessivos

Recomendamos que você ajuste a workload para evitar a criação excessiva de objetos temporários ou alterne para classes de instância do RDS que comportem leituras otimizadas. As Leituras otimizadas pelo RDS melhoram a performance do banco de dados para workloads que envolvem grande número de objetos temporários e/ou grandes objetos temporários. Avalie a workload para determinar se o uso de uma instância com Leituras otimizadas pelo RDS beneficia a workload de banco de dados.

Usar um tipo de instância de banco de dados com Leituras otimizadas pelo RDS

Sim

Tipos de instância do Amazon RDS

Melhorar a performance das consultas para o RDS para MySQL com Leituras otimizadas pelo Amazon RDS

Melhorar a performance das consultas para o RDS para MariaDB com Leituras otimizadas pelo Amazon RDS

Melhorar a performance das consultas para o RDS para PostgreSQL com Leituras otimizadas pelo Amazon RDS

As instâncias do RDS são subprovisionadas para a capacidade de IOPS

Recomendamos ajustar a workload do banco de dados para reduzir as IOPS ou aumentar a escala verticalmente da instância de banco de dados para um tipo com um limite de IOPS padrão mais alto. A instância de banco de dados atual não é compatível com IOPS provisionadas ou a workload do banco de dados tem alta utilização de IOPS.

Usar um tipo de instância de banco de dados com limites de IOPS padrão mais altos

Sim

Tipos de instância do Amazon RDS

Armazenamento de instâncias de banco de dados do Amazon RDS

Carga de banco de dados

Instâncias do RDS têm volumes subprovisionados do Amazon EBS

Recomendamos ajustar a workload do banco de dados para reduzir as IOPS ou aumentar as IOPS provisionadas do banco de dados. Quando a utilização das IOPS se aproxima das IOPS provisionadas, o desempenho do banco de dados pode diminuir.

Provisionar mais IOPS para a instância de banco de dados

Sim

Tipos de instância do Amazon RDS

Armazenamento de instâncias de banco de dados do Amazon RDS

Carga de banco de dados

As instâncias do RDS são subprovisionadas para a capacidade de throughput

Recomendamos ajustar a workload do banco de dados para reduzir o throughput ou aumentar o throughput provisionado para o banco de dados. Quando a utilização do throughput se aproxima do throughput provisionado, o desempenho do banco de dados pode ser afetado.

Provisionar mais throughput para a instância de banco de dados

Sim

Tipos de instância do Amazon RDS

Armazenamento de instâncias de banco de dados do Amazon RDS

Carga de banco de dados

As instâncias do RDS são subprovisionadas para E/S do EBS

Recomendamos ajustar a workload de banco de dados para reduzir as operações de E/S ou modificar a instância de banco de dados para usar os volumes io2 Block Express do Amazon RDS, projetados para workloads de banco de dados que exigem alta performance, alto throughput e baixa latência. Com a workload atual, o banco de dados pode não conseguir processar as operações de E/S na taxa necessária, o que pode levar à degradação da performance.

Usar os volumes io2 Block Express do Amazon RDS para a instância do RDS

Não

Armazenamento de instâncias de banco de dados do Amazon RDS

Métricas do Amazon CloudWatch para o Amazon RDS

Provisioned IOPS SSD volumes no Guia do usuário do Amazon EBS