Gerenciar a performance e a escalabilidade do Amazon Aurora MySQL - Amazon Aurora

Gerenciar a performance e a escalabilidade do Amazon Aurora MySQL

Dimensionar instâncias de bancos de dados Aurora MySQL

Você pode escalar instâncias de banco de dados Aurora MySQL de duas maneiras: com escalabilidade de instância e escalabilidade de leitura. Para obter mais informações sobre a escalabilidade de leitura, consulte Escalabilidade de leitura.

Você pode escalar o cluster de bancos de dados Aurora MySQL modificando a classe da instância de banco de dados para cada instância de banco de dados do cluster. O Aurora MySQL é compatível com várias classes de instância de banco de dados otimizada para o Aurora. Não use classes de instância db.t2 ou db.t3 para clusters do Aurora maiores com tamanho superior a 40 TB. Para obter as especificações das classes de instância de banco de dados compatíveis com o Aurora MySQL, consulte Classes de instância de banco de dados Aurora.

nota

Recomendamos usar as classes de instância de banco de dados T somente para servidores de desenvolvimento e teste, ou outros servidores que não sejam de produção. Para obter mais detalhes sobre as classes de instâncias T, consulte Uso de classes de instância T para desenvolvimento e testes.

Número máximo de conexões com uma instância de bancos de dados Aurora MySQL

O número máximo de conexões permitido para uma instância de bancos de dados Aurora MySQL é determinado pelo parâmetro max_connections no grupo de parâmetros do nível da instância para a instância de banco de dados.

A tabela a seguir lista o valor padrão resultante de max_connections para cada classe de instância de banco de dados disponível para o Aurora MySQL. É possível aumentar o número máximo de conexões da instância de bancos de dados Aurora MySQL dimensionando a instância até uma classe de instância de banco de dados com mais memória ou definindo um valor maior para o parâmetro max_connections no grupo de parâmetros de banco de dados da instância, de até 16.000.

dica

Se suas aplicações abrem e fecham conexões com frequência ou mantêm um grande número de conexões de longa duração abertas, recomendamos usar o Amazon RDS Proxy. O RDS Proxy é um proxy de banco de dados totalmente gerenciado e altamente disponível que usa grupos de conexões para compartilhar conexões de banco de dados de forma segura e eficiente. Para saber mais sobre o RDS Proxy, consulte Usar o Amazon RDS Proxy para o Aurora.

Para obter detalhes sobre como as instâncias do Aurora Serverless v2 lidam com esse parâmetro, consulte Conexões máximas do Aurora Serverless v2.

Classe de instância Valor padrão de max_connections

db.t2.small

45

db.t2.medium

90

db.t3.small

45

db.t3.medium

90

db.t3.large

135

db.t4g.medium

90

db.t4g.large

135

db.r3.large

1000

db.r3.xlarge

2000

db.r3.2xlarge

3000

db.r3.4xlarge

4000

db.r3.8xlarge

5000

db.r4.large

1000

db.r4.xlarge

2000

db.r4.2xlarge

3000

db.r4.4xlarge

4000

db.r4.8xlarge

5000

db.r4.16xlarge

6000

db.r5.large

1000

db.r5.xlarge

2000

db.r5.2xlarge

3000

db.r5.4xlarge

4000

db.r5.8xlarge

5000

db.r5.12xlarge

6000

db.r5.16xlarge

6000

db.r5.24xlarge

7000

db.r6g.large 1000
db.r6g.xlarge 2000
db.r6g.2xlarge 3000
db.r6g.4xlarge 4000
db.r6g.8xlarge 5000
db.r6g.12xlarge 6000
db.r6g.16xlarge 6000
db.r6i.large 1000
db.r6i.xlarge 2000
db.r6i.2xlarge 3000
db.r6i.4xlarge 4000
db.r6i.8xlarge 5000
db.r6i.12xlarge 6000
db.r6i.16xlarge 6000
db.r6i.24xlarge 7000
db.r6i.32xlarge 7000
db.x2g.large 2000
db.x2g.xlarge 3000
db.x2g.2xlarge 4000
db.x2g.4xlarge 5000
db.x2g.8xlarge 6000
db.x2g.12xlarge 7000
db.x2g.16xlarge 7000

Se você criar um novo grupo de parâmetros para personalizar seu próprio padrão para o limite de conexão, verá que o limite da conexão padrão é derivado usando uma fórmula baseada no valor DBInstanceClassMemory. Como mostra a tabela anterior, a fórmula gera limites de conexão que aumentam em 1000 à medida que a memória é duplicada entre as instâncias progressivamente maiores R3, R4 e R5, e em 45 para tamanhos de memórias diferentes das instâncias T2 e T3.

Consulte Especificação de parâmetros de banco de dados para obter mais detalhes sobre como é feito o cálculo de DBInstanceClassMemory.

As instâncias de banco de dados Aurora MySQL e RDS para MySQL têm diferentes quantidades de sobrecarga de memória. Portanto, o valor de max_connections pode ser diferente para instâncias de banco de dados Aurora MySQL e RDS para MySQL que usam a mesma classe de instância. Os valores na tabela só se aplicam a instâncias de banco de dados Aurora MySQL.

nota

Os limites de conectividade bem mais baixos das instâncias T2 e T3 ocorrem porque com o Aurora essas classes de instâncias são destinadas apenas para cenários de desenvolvimento e teste, e não para cargas de trabalho de produção.

Os limites de conexão padrão são ajustados pelos sistemas que usam os valores padrão para outros grandes consumidores de memória, como grupo de buffers e cache de consulta. Se você alterar essas outras configurações de seu cluster, considere o ajuste do limite de conexão para levar em conta o aumento ou a redução da memória disponível nas instâncias de banco de dados.

Limites de armazenamento temporário para o Aurora MySQL

O Aurora MySQL armazena tabelas e índices no subsistema de armazenamento do Aurora. O Aurora MySQL usa armazenamento temporário separado para arquivos temporários não persistentes. O Aurora MySQL usa armazenamento local para armazenar logs de erros, logs gerais, logs de consultas lentas, logs de auditoria e tabelas temporárias que não são do InnoDB. O armazenamento local também inclui arquivos que são usados para fins como classificar grandes conjuntos de dados durante o processamento de consultas ou para operações de compilação de índice. Ele não inclui tabelas temporárias do InnoDB. Para obter mais informações, consulte What is stored in Aurora MySQL-Compatible local storage, and how can I troubleshoot local storage issues? (O que é armazenado no armazenamento local compatível com o Aurora MySQL e como solucionar problemas do armazenamento local?). Para obter mais informações sobre tabelas temporárias no Aurora MySQL versão 3, consulte Novo comportamento de tabela temporária no Aurora MySQL versão 3. Para obter mais informações sobre tabelas temporárias na versão 2, consulte Comportamento de espaço de tabela temporário no Aurora MySQL versão 2.

Esses volumes de armazenamento local são apoiados pelo Amazon Elastic Block Store e podem ser estendidos utilizando uma classe de instância de banco de dados maior. Para obter mais informações sobre armazenamento, consulte Armazenamento e confiabilidade do Amazon Aurora.

nota

Você pode ver eventos de storage-optimization ao dimensionar instâncias de banco de dados, por exemplo, de db.r5.2xlarge para db.r5.4xlarge.

A tabela a seguir mostra a quantidade máxima de armazenamento temporário disponível para cada classe de instância de bancos de dados Aurora MySQL. Para obter mais informações sobre o suporte a classes de instância de banco de dados para o Aurora, consulte Classes de instância de banco de dados Aurora.

Classe de instância de banco de dados Armazenamento temporário máximo disponível (GiB)
db.x2g.16xlarge 1.280
db.x2g.12xlarge 960
db.x2g.8xlarge 640
db.x2g.4xlarge 320
db.x2g.2xlarge 160
db.x2g.xlarge 80
db.x2g.large 40
db.r6i.32xlarge 2560
db.r6i.24xlarge 1920
db.r6i.16xlarge 1.280
db.r6i.12xlarge 960
db.r6i.8xlarge 640
db.r6i.4xlarge 320
db.r6i.2xlarge 160
db.r6i.xlarge 80
db.r6i.large 32
db.r6g.16xlarge 1.280
db.r6g.12xlarge 960
db.r6g.8xlarge 640
db.r6g.4xlarge 320
db.r6g.2xlarge 160
db.r6g.xlarge 80
db.r6g.large 32
db.r5.24xlarge 1920
db.r5.16xlarge 1.280
db.r5.12xlarge 960
db.r5.8xlarge 640
db.r5.4xlarge 320
db.r5.2xlarge 160
db.r5.xlarge 80
db.r5.large 32
db.r4.16xlarge 1.280
db.r4.8xlarge 640
db.r4.4xlarge 320
db.r4.2xlarge 160
db.r4.xlarge 80
db.r4.large 32
db.t4g.large 32
db.t4g.medium 32
db.t3.large 32
db.t3.medium 32
db.t3.small 32
db.t2.medium 32
db.t2.small 32
Importante

Esses valores representam a quantidade teórica máxima de armazenamento gratuito em cada instância de banco de dados. O armazenamento local real disponível para você pode ser menor. O Aurora usa um pouco do armazenamento local para seus processos de gerenciamento, e a instância de banco de dados usa um pouco do armazenamento local antes mesmo de você carregar dados. É possível monitorar o armazenamento temporário disponível para uma instância de banco de dados específica com a métrica FreeLocalStorage do CloudWatch, descrita em Métricas do Amazon CloudWatch para o Amazon Aurora. Você pode verificar a quantidade de armazenamento gratuito no momento atual. Você também pode mapear a quantidade de armazenamento gratuito ao longo do tempo. Monitorar o armazenamento gratuito ao longo do tempo ajuda você a determinar se o valor está aumentando ou diminuindo, ou a encontrar os valores mínimo, máximo ou médio.

(Isso não se aplica ao Aurora Serverless v2.)