Armazenamento de instâncias de banco de dados do Amazon RDS - Amazon Relational Database Service

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

As instâncias de banco de dados do Amazon RDS para Db2, MySQL, MariaDB, PostgreSQL, Oracle e Microsoft SQL Server utilizam volumes do Amazon Elastic Block Store (Amazon EBS) para armazenamento de logs e banco de dados.

Em alguns casos, a workload do banco de dados pode não conseguir alcançar 100% das IOPS provisionadas. Para ter mais informações, consulte Fatores que afetam a performance de armazenamento.

Para obter mais informações sobre a definição de preço de armazenamento de instâncias, consulte Definição de preço do Amazon RDS.

Tipos de armazenamento do Amazon RDS

O Amazon RDS oferece três tipos de armazenamento: SSD de uso geral (também conhecido como gp2 e gp3), SSD de IOPS provisionadas (também conhecido como io1) e magnético (também conhecido como padrão). Eles diferem em características de performance e preço, o que significa que você pode adaptar o custo e a performance de armazenamento às necessidades da workload do banco de dados. É possível criar instâncias de banco de dados do Db2, do MySQL, do MariaDB, do Oracle e do PostgreSQL RDS com até 64 tebibytes (TiBs) de armazenamento. Crie instâncias de banco de dados SQL Server RDS com até 16 TiB de armazenamento. Para essa quantidade de armazenamento, use os tipos de armazenamento SSD de IOPS provisionadas e SSD de uso geral. O RDS para Db2 comporta somente o tipo de armazenamento SSD de uso geral gp3 e o tipo de armazenamento SSD de IOPS provisionadas.

A lista a seguir descreve resumidamente os três tipos de armazenamento:

  • SSD de uso geral: os volumes de SSD de uso geral oferecem armazenamento econômico ideal para uma ampla variedade de workloads em execução em instâncias de banco de dados de médio porte. O armazenamento de uso geral é mais adequado para ambientes de desenvolvimento e teste.

    Para obter mais informações sobre o armazenamento SSD de uso geral, incluindo os intervalos de tamanho de armazenamento, consulte Armazenamento SSD de uso geral.

  • IOPS provisionadas: o armazenamento de IOPS provisionadas foi projetado para atender às necessidades de workloads de uso intenso de E/S, em especial workloads de banco de dados que exigem baixa latência de E/S e throughput de E/S consistente. O armazenamento de IOPS provisionadas é mais adequado para ambientes de produção.

    Para obter mais informações sobre o armazenamento de IOPS provisionadas, incluindo os intervalos de tamanho de armazenamento, consulte Armazenamento SSD de IOPS provisionadas.

  • Magnético – o Amazon RDS também é compatível com o armazenamento magnético para retrocompatibilidade. Recomendamos que você use SSD de uso geral ou SSD de IOPS provisionadas para toda e qualquer nova necessidade de armazenamento. A quantidade máxima de armazenamento permitida para instâncias de banco de dados no armazenamento magnético é menor que a dos outros tipos de armazenamento. Para ter mais informações, consulte Armazenamento magnético.

Quando você seleciona SSD de uso geral ou SSD de IOPS provisionadas, dependendo do mecanismo selecionado e da quantidade de armazenamento solicitada, o Amazon RDS distribui automaticamente vários volumes para melhorar a performance, conforme mostrado na tabela a seguir.

Mecanismo do banco de dados Tamanho de armazenamento do Amazon RDS Número de volumes provisionados
Db2 Menor que 400 GiB 1
Db2 Entre 400 e 64.000 GiB 4
MariaDB, MySQL e PostgreSQL Menor que 400 GiB 1
MariaDB, MySQL e PostgreSQL Entre 400 e 64.000 GiB 4
Oracle Menor que 200 GiB 1
Oracle Entre 200 e 64.000 GiB 4
SQL Server Any 1

Quando você modifica um volume de SSD de uso geral ou de SSD de IOPS provisionadas, ele passa por uma sequência de estados. Quando o volume está no estado optimizing, sua performance de volume está entre as especificações de configuração de origem e de destino. A performance de volume transitório não será menor que a menor das duas especificações. Para obter mais informações sobre modificações de volumes, consulte Monitorar o progresso das modificações de volumes no Guia do usuário do Amazon EC2.

Importante

Quando você modifica o armazenamento de uma instância para que ele passe de um volume para quatro volumes, ou quando você modifica uma instância usando armazenamento magnético, o Amazon RDS não usa o recurso Volumes Elásticos. Em vez disso, o Amazon RDS provisiona novos volumes e move de forma transparente os dados do volume antigo para os novos volumes. Essa operação consome uma quantidade significativa de IOPS e throughput dos volumes antigos e novos. Dependendo do tamanho do volume e da quantidade de workload do banco de dados presente durante a modificação, essa operação pode consumir uma grande quantidade de IOPS, aumentar significativamente a latência de E/S e levar várias horas para ser concluída, enquanto a instância do RDS permanece no estado Modifying.

Armazenamento SSD de uso geral

O armazenamento SSD de uso geral oferece armazenamento econômico que é aceitável para a maioria das workloads de banco de dados que não são sensíveis à latência.

nota

As instâncias de banco de dados que usam o armazenamento SSD de uso geral podem sofrer latência muito mais longa após a criação da réplica de leitura, conversão multi-AZ e restauração de snapshot de banco de dados do que as instâncias que usam o armazenamento de IOPS provisionadas. Se você precisar de uma instância de banco de dados com latência mínima após essas operações, recomendamos o uso de Armazenamento SSD de IOPS provisionadas.

O Amazon RDS oferece dois tipos de armazenamento SSD de uso geral: Armazenamento gp2 e Armazenamento gp3.

Armazenamento gp2

Quando suas aplicações não precisam de alto desempenho de armazenamento, você pode usar o armazenamento SSD gp2 de uso geral. A performance de E/S de referência para o armazenamento gp2 é de 3 IOPS para cada GiB, com no mínimo 100 IOPS. Esse relacionamento significa que volumes maiores têm uma performance melhor. Por exemplo, a performance basal para um volume de 100 GiB é 300 IOPS. A performance basal para um volume de 1.000 GiB é de 3.000 IOPS. A performance máxima da linha de base para um volume gp2 (5.334 GiB e superior) é de 16.000 IOPS.

Os volumes gp2 individuais abaixo de 1.000 GiB de tamanho também têm a capacidade de intermitência de até 3.000 IOPS durante períodos prolongados. O saldo de créditos E/S de volume determina a performance de intermitência. Para obter mais informações sobre créditos de E/S de volume, consulte Créditos de E/S e performance de intermitência no Guia do usuário do Amazon EC2. Para obter uma descrição mais detalhada de como a performance de referência e o saldo de créditos de E/S afetam a performance, consulte a publicação Understanding burst vs. baseline performance with Amazon RDS and gp2 (Conceitos básicos da intermitência com relação à performance de referência com o Amazon RDS e gp2) no Blog do banco de dados da AWS.

Muitas workloads nunca esgotam o saldo de intermitência. No entanto, algumas workloads podem esgotar o saldo de créditos de armazenamento de intermitência de 3.000 IOPS, portanto você deve planejar sua capacidade de armazenamento para atender às necessidades das workloads.

Para volumes gp2 com mais de 1.000 GiB, a performance de linha de base é maior que a performance de intermitência. Para esses volumes, a intermitência é irrelevante porque a performance da linha de base é melhor que a performance de intermitência de 3.000 IOPS. No entanto, para instâncias de banco de dados de determinados mecanismos e tamanhos, o armazenamento é distribuído em quatro volumes, fornecendo quatro vezes o throughput básico e quatro vezes as IOPS de intermitência de um único volume. A performance do armazenamento para volumes gp2 nos mecanismos de banco de dados do Amazon RDS, incluindo o limite, é mostrada na tabela a seguir.

Mecanismo de banco de dados Tamanho de armazenamento do RDS Intervalo de IOPS de referência Intervalo de throughput de referência IOPS de intermitência
MariaDB, MySQL e PostgreSQL Entre 20 e 399 GiB De 100 a 1.197 IOPS De 128 a 250 MiB/s 3.000
MariaDB, MySQL e PostgreSQL Entre 400 e 1.335 GiB De 1.200 a 4.005 IOPS De 500 a 1.000 MiB/s 12.000
MariaDB, MySQL e PostgreSQL Entre 1.336 e 3.999 GiB De 4.008 a 11.997 IOPS 1.000 MiB/s 12.000
MariaDB, MySQL e PostgreSQL Entre 4.000 e 65.536 GiB De 12.000 a 64.000 IOPS 1.000 MiB/s N/D*
Oracle Entre 20 e 199 GiB De 100 a 597 IOPS De 128 a 250 MiB/s 3.000
Oracle Entre 200 e 1.335 GiB De 600 a 4.005 IOPS De 500 a 1.000 MiB/s 12.000
Oracle Entre 1.336 e 3.999 GiB De 4.008 a 11.997 IOPS 1.000 MiB/s 12.000
Oracle Entre 4.000 e 65.536 GiB De 12.000 a 64.000 IOPS 1.000 MiB/s N/D*
SQL Server Entre 20 e 333 GiB De 100 a 999 IOPS De 128 a 250 MiB/s 3.000
SQL Server Entre 334 e 999 GiB De 1.002 a 2.997 IOPS 250 MiB/s 3.000
SQL Server Entre 1.000 e 16.384 GiB De 3.000 a 16.000 IOPS 250 MiB/s N/D*

* A performance basal do volume excede a performance de expansão máxima.

Armazenamento gp3

Ao usar volumes de armazenamento SSD gp3 de uso geral, você pode personalizar a performance do armazenamento independentemente da capacidade de armazenamento. A performance de armazenamento é a combinação de operações de E/S por segundo (IOPS) e a rapidez com que o volume pode realizar leituras e gravações (throughput de armazenamento). Em volumes de armazenamento gp3, o Amazon RDS fornece uma performance de armazenamento de referência de 3.000 IOPS e 125 MiB/s.

Para cada mecanismo de banco de dados do RDS, exceto o RDS para SQL Server, quando o tamanho do armazenamento para volumes gp3 atinge determinado limite, a performance do armazenamento de referência aumenta para 12.000 IOPS e 500 MiB/s. Isso ocorre por conta da distribuição de volumes, em que o armazenamento usa quatro volumes em vez de um. O RDS para SQL Server não é compatível com a distribuição de volume e, portanto, não tem um valor limite.

nota

O armazenamento SSD de uso geral gp3 é compatível com instâncias de banco de dados de uma única zona de disponibilidade e multi-AZ, mas não com clusters de banco de dados multi-AZ. Para ter mais informações, consulte Configurar e gerenciar uma implantação multi-AZ e Implantações de clusters de banco de dados multi-AZ.

A performance do armazenamento para volumes gp3 nos mecanismos de banco de dados do Amazon RDS, incluindo o limite, é mostrada na tabela a seguir.

Mecanismo de banco de dados Tamanho de armazenamento Performance de armazenamento de referência Intervalo de IOPS provisionadas Variedade do throughput de armazenamento provisionado
Db2 Menor que 400 GiB 3.000 IOPS/125 MiB/s De 3.000 a 64.000 IOPS De 125 a 4.000 MiB/s
Db2 400 GiB e superior 12.000 IOPS/500 MiB/s De 12.000 a 64.000 IOPS De 500 a 4.000 MiB/s
MariaDB, MySQL e PostgreSQL Menor que 400 GiB 3.000 IOPS/125 MiB/s N/D N/D
MariaDB, MySQL e PostgreSQL 400 GiB e superior 12.000 IOPS/500 MiB/s De 12.000 a 64.000 IOPS De 500 a 4.000 MiB/s
Oracle Menor que 200 GiB 3.000 IOPS/125 MiB/s N/D N/D
Oracle 200 GiB e superior 12.000 IOPS/500 MiB/s De 12.000 a 64.000 IOPS De 500 a 4.000 MiB/s
SQL Server 20 GiB – 16 TiB 3.000 IOPS/125 MiB/s De 3.000 a 16.000 IOPS De 125 a 1.000 MiB/s

Para cada mecanismo de banco de dados, exceto o RDS para SQL Server, você pode provisionar IOPS e throughput de armazenamento adicionais quando o tamanho do armazenamento estiver igual ou superior ao valor limite. Para o RDS para SQL Server, você pode provisionar IOPS e throughput de armazenamento adicionais para qualquer tamanho de armazenamento disponível. Para todos os mecanismos de banco de dados, você paga apenas pela performance adicional do armazenamento provisionado. Para obter mais informações, consulte Definição de preço do Amazon RDS.

Embora as IOPS provisionadas e o throughput de armazenamento adicionados não dependam do tamanho do armazenamento, eles estão relacionados entre si. Quando você aumenta as IOPS acima de 32.000 para MariaDB e MySQL, o valor do throughput de armazenamento aumenta automaticamente de 500 MiBps. Por exemplo, quando você define as IOPS como 40.000 no RDS para MySQL, o throughput de armazenamento deve ser de pelo menos 625 MiBps. O aumento automático não acontece para instâncias de banco de dados do Oracle, do PostgreSQL e do SQL Server.

Para clusters de banco de dados multi-AZ, o Amazon RDS define automaticamente o valor de throughput com base nas IOPS que você provisiona. Não é possível modificar o valor de throughput.

Os valores de performance de armazenamento para volumes gp3 no RDS têm as seguintes restrições:

  • A proporção máxima do throughput de armazenamento em relação ao IOPS é de 0,25 para todos os mecanismos de banco de dados compatíveis.

  • A proporção mínima de IOPS para o armazenamento alocado (em GiB) é de 0,5 no RDS para SQL Server. Não há proporção mínima para os outros mecanismos de banco de dados compatíveis.

  • A proporção máxima de IOPS em relação ao armazenamento alocado é de 500 para todos os mecanismos de banco de dados compatíveis.

  • Se você estiver usando autoescalabilidade de armazenamento, as mesmas taxas entre IOPS e limite máximo de armazenamento (em GiB) também se aplicarão.

    Para obter mais informações sobre autoescalabilidade automática de armazenamento, consulte Gerenciar a capacidade automaticamente com a escalabilidade automática de armazenamento do Amazon RDS.

Armazenamento SSD de IOPS provisionadas

Para uma aplicação de produção que exija uma performance de E/S rápido e consistente, recomendamos o armazenamento de IOPS provisionadas. O armazenamento de IOPS provisionadas é um tipo de armazenamento que oferece performance previsível e latência consistentemente baixa. O armazenamento de IOPS provisionadas é otimizado para workloads de processamento de transações on-line (OLTP) que exigem performance consistente. As IOPS provisionadas ajudam a ajustar a performance dessas workloads.

Ao criar uma instância de banco de dados, você especifica a taxa de IOPS e o tamanho do volume. O Amazon RDS fornecerá essa taxa de IOPS para a instância de banco de dados até você alterá-la.

Armazenamento io1

Para workloads com uso intenso de E/S, você pode usar o armazenamento SSD io1 de IOPS provisionadas e alcançar até 256.000 operações de E/S por segundo (IOPS). O throughput dos volumes io1 varia com base na quantidade de IOPS provisionadas por volume e no tamanho das operações de E/S que estão sendo executadas. Para obter mais informações sobre o throughput de volumes io1, consulte Volumes de IOPS provisionadas no Guia do usuário do Amazon EC2.

A tabela a seguir mostra o intervalo de IOPS provisionadas e o throughput máximo de cada mecanismo de banco de dados e o intervalo de tamanho de armazenamento.

Mecanismo do banco de dados Intervalo do tamanho do armazenamento Intervalo de IOPS provisionadas Throughput máximo
Db2 Entre 100 e 64.000 GiB De 1.000 a 256.000 IOPS 4.000 MiB/s
MariaDB, MySQL e PostgreSQL Entre 100 e 399 GiB De 1.000 a 19.950 IOPS 500 MiB/s
MariaDB, MySQL e PostgreSQL Entre 400 e 65.536 GiB De 1.000 a 256.000 IOPS 4.000 MiB/s
Oracle Entre 100 e 199 GiB De 1.000 a 9.950 IOPS 500 MiB/s
Oracle Entre 200 e 65.536 GiB De 1.000 a 256.000 IOPS 4.000 MiB/s
SQL Server Entre 20 e 16.384 GiB De 1.000 a 64.000 IOPS 1.000 MiB/s
nota

Para o SQL Server, o máximo de 64.000 IOPS é garantido apenas em instâncias baseadas no Nitro dos tipos m5*, m6i*, r5*, r6i z1d. Outros tipos de instâncias garantem performance de até 32.000 IOPS.

Para o Oracle, é possível provisionar o máximo de 256.000 IOPS somente no tipo de instância r5b.

As faixas de IOPS e de tamanho de armazenamento têm as seguintes restrições:

  • A proporção de IOPS com relação ao armazenamento alocado (em GiB) deve ser de 1 a 50 no RDS for SQL Server e de 0,5 a 50 em outros mecanismos de banco de dados RDS.

  • Se você estiver usando autoescalabilidade de armazenamento, as mesmas taxas entre IOPS e limite máximo de armazenamento (em GiB) também se aplicarão.

    Para obter mais informações sobre autoescalabilidade automática de armazenamento, consulte Gerenciar a capacidade automaticamente com a escalabilidade automática de armazenamento do Amazon RDS.

Combinação de armazenamento de IOPS provisionadas com implantações multi-AZ ou réplicas de leitura

Para casos de uso de OLTP de produção, recomendamos o uso de implantações multi-AZ para tolerância a falhas aprimorada com armazenamento de IOPS provisionadas para performance rápida e previsível.

Também é possível usar o armazenamento SSD de IOPS provisionadas com réplicas de leitura para MySQL, MariaDB ou PostgreSQL. O tipo de armazenamento para uma réplica de leitura é independente daquele da instância de banco de dados primária. Por exemplo, você pode usar o SSD de uso geral para réplicas de leitura com uma instância do banco de dados primária que usa armazenamento SSD de IOPS provisionadas para reduzir custos. No entanto, a performance da réplica de leitura nesse caso pode ser diferente daquela de uma configuração em que a instância de banco de dados primária e as réplicas de leitura usam o armazenamento SSD de IOPS provisionadas.

Custos do armazenamento de IOPS provisionadas

Com o armazenamento de IOPS provisionadas, você é cobrado pelos recursos provisionados se usá-los ou não durante um certo mês.

Para obter mais informações sobre a definição de preço, consulte Definição de preço do Amazon RDS.

Obter a melhor performance do armazenamento SSD de IOPS provisionadas do Amazon RDS

Se a sua workload for limitado à E/S, usar o armazenamento SSD de IOPS provisionadas pode aumentar o número de solicitações de E/S que o sistema pode processar simultaneamente. O aumento da simultaneidade permite a diminuição da latência pois as solicitações de E/S passam menos tempo em uma fila. A latência menor permite compromissos de banco de dados mais rápidos, o que melhora o tempo de resposta e permite uma maior taxa de transferência de banco de dados.

O armazenamento SSD de IOPS provisionadas permitem reservar a capacidade de E/S especificando o IOPS. No entanto, como qualquer outro atributo de capacidade do sistema, a taxa de transferência máxima sob carga será restringida pelo recurso que for consumido primeiro. Esse recurso pode ser largura de banda da rede, CPU, memória ou recursos internos do banco de dados.

Para obter mais informações sobre como aproveitar ao máximo os volumes de IOPS provisionadas, consulte Performance de volume do Amazon EBS.

Comparar os tipos de armazenamento em unidades de estado sólido (SSD)

A tabela a seguir mostra casos de uso e características de performance para os volumes de armazenamento SSD usados pelo Amazon RDS.

Característica IOPS provisionadas (io1) Uso geral (gp3) Uso geral (gp2)
Descrição

Performance consistente de armazenamento (IOPS, throughput, latência)

Projetado para workloads transacionais sensíveis à latência

Flexibilidade no provisionamento de armazenamento, IOPS e throughput de forma independente

Equilibra a performance de preço para uma ampla variedade de workloads transacionais.

Oferece IOPS de intermitência

Equilibra a performance de preço para uma ampla variedade de workloads transacionais.

Casos de uso

Workloads transacionais que exigem desempenho de IOPS sustentado de até 256.000 IOPS

Ampla variedade de workloads executadas em bancos de dados relacionais de médio porte em ambientes de desenvolvimento/teste

Ampla variedade de workloads executadas em bancos de dados relacionais de médio porte em ambientes de desenvolvimento/teste

Latência

Milissegundo de um dígito, fornecido consistentemente 99,9% do tempo

Milissegundo de um dígito, fornecido consistentemente 99% do tempo

Milissegundo de um dígito, fornecido consistentemente 99% do tempo

Tamanho do volume

100 GiB a 64 TiB (16 TiB no RDS para SQL Server)

20 GiB a 64 TiB (16 TiB no RDS para SQL Server)

20 GiB a 64 TiB (16 TiB no RDS para SQL Server)

Máximo de IOPS 256.000 (64.000 no RDS para SQL Server) 64.000 (16.000 no RDS para SQL Server)

64.000 (16.000 no RDS para SQL Server)

nota

Você não pode provisionar IOPS diretamente no armazenamento gp2. O IOPS varia com o tamanho de armazenamento alocado.

Throughput máximo Escalas com base em IOPS provisionadas de até 4.000 MB/s Fornecer throughput adicional de até 4.000 MB/s (1.000 MB/s no RDS para SQL Server) 1.000 MB/s (250 MB/s no RDS para SQL Server)
AWS CLI e nome da API do RDS io1 gp3 gp2

Armazenamento magnético

O Amazon RDS também suporta armazenamento magnético para retrocompatibilidade. Recomendamos que você use SSD de uso geral ou SSD de IOPS provisionadas para toda e qualquer nova necessidade de armazenamento. A seguir estão algumas limitações para o armazenamento magnético:

  • Não permite escalar o armazenamento ao usar o mecanismo de banco de dados do SQL Server.

  • Não é compatível com a escalabilidade automática de armazenamento.

  • Não é compatível com os volumes elásticos.

  • Limitado a um tamanho máximo de 3 TiB.

  • Limitado a um máximo de 1.000 IOPS.

Volume de log dedicado (DLV)

Use um volume de log dedicado (DLV) para uma instância de banco de dados que usa o armazenamento de IOPS provisionadas (PIOPS) utilizando o console do Amazon RDS, AWS CLI a ou a API do Amazon RDS. Um DLV move os logs de transações do banco de dados do PostgreSQL e logs binários e redo logs do MySQL/MariaDB para um volume de armazenamento separado do volume que contém as tabelas do banco de dados. Um DLV torna o registro de gravação de transações mais eficiente e consistente. Os DLVs são ideais para bancos de dados com grande armazenamento alocado, altos requisitos de I/O por segundo (IOPS) ou cargas de trabalho sensíveis à latência.

Os DLVs são compatíveis com armazenamento PIOPS e são criados com um tamanho fixo de 1.000 GiB e 3.000 IOPS provisionadas.

O Amazon RDS oferece suporte a DLVs em todas as regiões para as seguintes versões:

  • 10.6.7 e versões 10.6 posteriores

  • MySQL 8.0.28 e versões 8.0 posteriores

  • Todas as versões 11, 12 e 13, versões 10.4 e superior e versões 9.6.9 e superior do PostgreSQL

O Amazon RDS on é compatível com implantações multi-AZ. Quando você modifica ou cria uma instância Multi-AZ, um DLV é criado tanto para a primária quanto para a secundária.

O RDS oferece suporte a DLVs com réplicas de leitura. Se a instância de banco de dados primária tiver um DLV ativado, todas as réplicas de leitura criadas após a ativação do DLV também terão um DLV. Qualquer réplica de leitura criada antes da mudança para o DLV não a terá habilitada, a menos que seja explicitamente modificada para isso. Recomendamos que todas as réplicas de leitura anexadas a uma instância primária antes da ativação do DLV também sejam modificadas manualmente para terem um DLV.

Depois de modificar a configuração de DLV para uma instância de banco de dados, a instância de banco de dados deve ser reinicializada.

Para ter informações sobre como habilitar o DLV, consulte Usando um volume de registro dedicado (DLV).

Monitoramento da performance de armazenamento

O Amazon RDS fornece várias métricas que você pode usar para avaliar a performance da sua instância de banco de dados. Você pode visualizar as métricas na página de resumo da sua instância no Console de gerenciamento do Amazon RDS. Você também pode usar o Amazon CloudWatch para monitorar essas métricas. Para obter mais informações, consulte Visualizar métricas no console do Amazon RDS. O Monitoramento aprimorado fornece métricas de E/S mais detalhadas; para obter mais informações, consulte Monitorar métricas do SO com o monitoramento avançado.

As métricas a seguir são úteis para monitorar o armazenamento da sua instância de banco de dados:

  • IOPS – o número de operações de E/S concluídas por segundo. Essa métrica é relatada como as IOPS médias para um determinado intervalo de tempo. O Amazon RDS relata as IOPS de leitura e gravação separadamente em intervalos de um minuto. A IOPS total é a soma da IOPS de leitura e gravação. Os valores típicos da IOPS variam de zero a dezenas de milhares por segundo.

  • Latência – o tempo decorrido entre o envio de uma solicitação de E/S e a sua conclusão. Essa métrica é relatada como a latência média para um determinado intervalo de tempo. O Amazon RDS relata a latência de leitura e gravação separadamente em intervalos de um minuto. Os valores típicos de latência estão em milissegundos (ms).

  • Taxa de transferência – o número de bytes por segundo transferidos para ou a partir do disco. Essa métrica é relatada como a taxa de transferência média para um determinado intervalo de tempo. O Amazon RDS relata o volume de leitura e gravação separadamente em intervalos de um minuto usando unidades de megabytes por segundo (MB/s). Os valores típicos da taxa de transferência variam de zero à largura de banda máxima do canal de E/S.

  • Comprimento da fila – o número de solicitações de E/S na fila aguardando por ser atendidas. Essas são solicitações de E/S que foram enviadas pelo aplicativo, mas não foram enviadas ao dispositivo porque o mesmo está ocupado atendendo a outras solicitações de E/S. O tempo gasto esperando na fila é um componente de latência e tempo de serviço (não disponível como uma métrica). Essa métrica é relatada como o comprimento da fila médio para um determinado intervalo de tempo. O Amazon RDS relata o comprimento da fila em intervalos de um minuto. Os valores típicos de comprimento da fila variam de zero a várias centenas.

Os valores de IOPS medidos são independentes do tamanho da operação de E/S individual. Isso significa que ao medir a performance de E/S, observe o throughput da instância, não apenas o número de operações de E/S.

Fatores que afetam a performance de armazenamento

As atividades do sistema, a workload do banco de dados e a classe da instância de banco de dados podem afetar a performance de armazenamento.

Atividades do sistema

As seguintes atividades relacionadas ao sistema consomem capacidade de E/S e podem reduzir a performance da instância de banco de dados em andamento:

  • Criação da espera multi-AZ

  • Criação de réplica de leitura

  • Alteração dos tipos de armazenamento

workload do banco de dados

Em alguns casos o design do banco de dados ou da aplicação resulta em problemas de simultaneidade, travamento ou outras formas de contenção do banco de dados. Nesses casos, talvez não seja possível usar toda a largura de banda provisionada diretamente. Além disso, você pode encontrar as seguintes situações relacionadas à workload:

  • O limite da taxa de transferência do tipo de instância subjacente é acessado.

  • A profundidade da fila é consistentemente menor que 1, pois a aplicação não está conduzindo operações de E/S suficientes.

  • Você vivencia contenção de consulta no banco de dados mesmo que haja capacidade de E/S não usada.

Em alguns casos, não há um recurso de sistema que esteja dentro ou próximo de um limite, e a adição de threads não aumenta a taxa de transação do banco de dados. Nesses casos, o gargalo é mais provável a contenção no banco de dados. As formas mais comuns são bloqueio de linha e contenção de bloqueio de página de índice, mas há muitas outras possibilidades. Se essa for a sua situação, procure a orientação de um especialista em ajuste de performance de banco de dados.

Classe de instância de banco de dados

Para obter a máxima performance da instância de banco de dados Amazon RDS, selecione um tipo de instância da geração atual com largura de banda suficiente para oferecer suporte ao seu tipo de armazenamento. Por exemplo, você pode escolher instâncias otimizadas para Amazon EBS e instâncias com conectividade de rede de 10 gigabit.

Importante

Dependendo da classe de instância que você está usando, poderá observar uma performance de IOPS menor do que o máximo que o RDS permite provisionar. Para obter informações específicas sobre a performance de IOPS para classes de instância de banco de dados, consulte Instâncias otimizadas para Amazon EBS no Guia do usuário do Amazon EC2. Recomendamos que você determine as IOPS máximas para a classe de instância antes de definir um valor de IOPS provisionadas para sua instância de banco de dados.

Recomendamos usar a geração mais recente das instâncias para obter a melhor performance. As instâncias de banco de dados de geração anteriores também podem ter um armazenamento máximo menor.

Alguns sistemas de arquivos mais antigos de 32 bits podem ter capacidades de armazenamento mais baixas. Para determinar a capacidade de armazenamento da sua instância de banco de dados, use o comando describe-valid-db-instance-modifications da AWS CLI.

A tabela a seguir mostra o armazenamento máximo para o qual cada classe de instância de banco de dados pode ser expandida em cada mecanismo de banco de dados.

  • Db2: 64 TiB

  • MariaDB: 64 TiB

  • Microsoft SQL Server: 16 TiB

  • MySQL: 64 TiB

  • Oracle: 64 TiB

  • PostgreSQL: 64 TiB

A tabela a seguir mostra algumas exceções para o armazenamento máximo (em TiB). Todas as instâncias de banco de dados RDS for Microsoft SQL Server têm um armazenamento máximo de 16 TiB. Portanto, não há entradas para o SQL Server.

Classe de instância Db2 MariaDB MySQL Oracle PostgreSQL
db.m3: classes de instância padrão
db.m3.2xlarge N/D N/D 6 N/D 6
db.m3.xlarge N/D N/D 6 N/D 6
db.m3.large N/D N/D 6 N/D 6
db.m3.medium N/D N/D 32 N/D 32
db.t4g: classes de instância expansível
db.t4g.medium N/D 16 16 N/D 32
db.t4g.small N/D 16 16 N/D 16
db.t4g.micro N/D 6 6 N/D 6
db.t3: classes de instância expansível
db.t3.medium 32 16 16 32 32
db.t3.small 32 16 16 32 16
db.t3.micro N/D 6 6 32 6
db.t2: classes de instância expansível
db.t2.medium N/D 32 32 N/D 32
db.t2.small N/D 16 16 N/D 16
db.t2.micro N/D 6 6 N/D 6

Para obter mais detalhes sobre todas as classes de instâncias compatíveis, consulte Instâncias de banco de dados de gerações anteriores.