Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Adjust the InnoDB buffer pool size

Última atualização: Oct 10, 2026

O parâmetro innodb_buffer_pool_size especifica o tamanho do buffer pool do InnoDB. Para melhorar o desempenho da sua instância do ApsaraDB RDS for MySQL, atualize esse parâmetro.

Pré-requisitos

Este tópico aplica-se às seguintes edições de instância:

  • RDS High-availability Edition

  • RDS Basic Edition

  • RDS Cluster Edition

Limitações

  • Não é possível alterar manualmente o parâmetro innodb_buffer_pool_size de uma instância Serverless do ApsaraDB RDS for MySQL. A instância ajusta automaticamente o tamanho do buffer pool do InnoDB quando sua especificação muda.

  • Se o parâmetro innodb_buffer_pool_size de uma instância do ApsaraDB RDS for MySQL estiver configurado com um valor muito alto, poderá causar um erro de falta de memória (OOM) e acionar um failover. Para evitar isso, por favor, configure o tamanho do buffer pool de acordo com os valores máximos recomendados neste tópico.

Casos de uso

Caso a memória não seja limitada, aumente o valor desse parâmetro para otimizar o desempenho do banco de dados.

  • Aumentar o tamanho: se o servidor tiver memória suficiente, aumentar o innodb_buffer_pool_size reduz significativamente a E/S do disco. Se os dados consultados puderem ser armazenados total ou majoritariamente na memória, a CPU aguardará menos pela E/S do disco, reduzindo a utilização geral da CPU. Por exemplo, em instruções UPDATE executadas com frequência, um buffer pool maior reduz a dependência do disco e alivia a contenção de bloqueios de linha. Isso melhora o desempenho de atualização de dados, especialmente para grandes lotes de registros.

  • Diminuir o tamanho: se a memória for limitada ou outras aplicações exigirem muita memória, diminua o valor de innodb_buffer_pool_size.

Tamanho do buffer pool do InnoDB

Ajuste o tamanho do buffer pool do InnoDB e defina o parâmetro innodb_buffer_pool_size com a seguinte fórmula:

{DBInstanceClassMemory*X/Y}
# Example: {DBInstanceClassMemory*7/10}
Nota
  • DBInstanceClassMemory é a memória da especificação da instância RDS (uma variável do sistema), e X/Y representa a proporção do tamanho do Buffer Pool em relação à memória da instância.

  • O intervalo ajustável varia de 128 MB a 90% da memória total da instância (DBInstanceClassMemory * 9 / 10).

Tamanho padrão do buffer pool do InnoDB

Instâncias de disco local de alto desempenho

Para as especificações a seguir, o tamanho padrão do Buffer Pool é de 80% a 90% da memória da instância. Para outras especificações, o tamanho padrão é de 75% da memória da instância (instance memory * 3 / 4).

Família da instância

Tipo de instância

CPU e memória

Valor padrão (MB) e porcentagem

Uso geral

rds.mysql.s3.large

4 núcleos, 8 GB

7372 (90%)

rds.mysql.m1.medium

4 núcleos, 16 GB

14745 (90%)

rds.mysql.c1.large

8 núcleos, 16 GB

13107 (80%)

rds.mysql.c1.xlarge

8 núcleos, 32 GB

27852 (85%)

rds.mysql.c2.xlarge

16 núcleos, 64 GB

52428 (80%)

rds.mysql.c2.xlp2

16 núcleos, 96 GB

78643 (80%)

Dedicada

mysql.x4.large.2

4 núcleos, 16 GB

14745 (90%)

mysql.x8.large.2

4 núcleos, 32 GB

29491 (90%)

mysql.x4.xlarge.2

8 núcleos, 32 GB

27852 (85%)

mysql.x8.xlarge.2

8 núcleos, 64 GB

55705 (85%)

mysql.x4.2xlarge.2

16 núcleos, 64 GB

52428 (80%)

mysql.x8.2xlarge.2

16 núcleos, 128 GB

104857 (80%)

Instâncias de disco cloud

Especificações de uso geral

O tamanho padrão do Buffer Pool é de 75% da memória da instância (instance memory * 3 / 4).

Especificações dedicadas

  • Tamanho padrão do Buffer Pool: (instance memory - system reserved memory) * 3 / 4

  • A fórmula para calcular a memória reservada do sistema é: min{Instance Memory / 2, 2048} + max{Instance CPU * 64, Instance Memory / 64} + (Instance Memory / 64) + 285, em que a unidade da memória da instância é MB.

A tabela a seguir lista os tamanhos padrão e os valores máximos recomendados do buffer pool para especificações de instâncias dedicadas.

Núcleos de CPU

Memória da instância (MB)

Tamanho do buffer pool

Valor padrão (MB)

Valor máximo recomendado (MB)

2

4096

1024

1024

2

8192

4096

4096

2

16384

9216

10240

4

8192

4096

4096

4

16384

9216

10240

4

32768

21504

22528

8

16384

9216

10240

8

32768

21504

22528

8

65536

45056

48128

12

24576

15360

16384

12

49152

33792

35840

12

98304

69632

73728

16

32768

21504

22528

16

65536

45056

48128

16

131072

93184

99328

24

49152

32768

34816

24

98304

69632

73728

24

196608

140288

149504

32

65536

45056

47104

32

131072

93184

99328

32

262144

188416

200704

52

98304

67584

72704

52

196608

140288

149504

52

393216

283648

302080

64

262144

188416

200704

64

524288

378880

403456

102

786432

569344

607232

104

196608

138240

147456

104

393216

282624

302080

Nota

O tamanho do buffer pool do InnoDB é sempre um múltiplo de innodb_buffer_pool_chunk_size * innodb_buffer_pool_instances:

  • O innodb_buffer_pool_chunk_size é fixo em 32 MB, mas esse valor pode ser 128 MB em instâncias criadas anteriormente.

  • Se o valor configurado para innodb_buffer_pool_size não for um múltiplo, o sistema o arredondará automaticamente para o próximo múltiplo inteiro.

Por exemplo, se o innodb_buffer_pool_chunk_size for 1 GB e o innodb_buffer_pool_instances for 1, ao configurar o innodb_buffer_pool_size como 1,5 GB, o valor será ajustado para 2 GB.

Ajustar o buffer pool para uma única instância

  1. Para começar, acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, encontre a instância e clique em seu respectivo ID.

  2. No painel de navegação à esquerda, clique em Parameters.

  3. Encontre o parâmetro innodb_buffer_pool_size, clique em Modify 修改 na coluna Actions, modifique o valor e, em seguida, clique em OK.

  4. Em seguida, clique em Apply Changes. Na caixa de diálogo exibida, clique em OK.

    Nota

    A alteração do parâmetro innodb_buffer_pool_size exige a reinicialização do RDS for MySQL 5.6, mas não exige reinicialização para as versões 5.7 e 8.0 do RDS for MySQL.

Ajustar com um modelo de parâmetros

Para isso, crie um novo modelo de parâmetros e modifique o innodb_buffer_pool_size e aplique o modelo às instâncias de destino. Caso já possua um modelo de parâmetros, modifique-o e aplique-o às instâncias de destino. Para mais informações, consulte Using parameter templates.

Em seguida, defina o Running Value como {DBInstanceClassMemory*7/10}. Após aplicar o modelo, reinicie a instância do ApsaraDB RDS for MySQL 5.6 para que a alteração entre em vigor. Não é necessária a reinicialização para as versões 5.7 e 8.0.

Documentos relacionados

Use também os dados de monitoring da instância e a análise do slow query log para analisar e resolver memory usage issues for ApsaraDB RDS for MySQL.