Todos os produtos
Search
Central de documentação

ApsaraDB RDS:16K atomic write

Última atualização: Jun 26, 2026

A gravação atômica de 16K aumenta o desempenho de gravação no ApsaraDB RDS for MySQL em pelo menos 40%, sem custo adicional. Esse recurso garante ao InnoDB, em nível de hardware, que cada gravação de página de dados de 16 KB seja atômica, tornando desnecessário o mecanismo de doublewrite.

Como funciona

O mecanismo InnoDB do MySQL lê e grava dados em páginas de 16 KB, mas a maioria dos sistemas de arquivos grava em blocos de 4 KB. Sem proteção extra, uma queda de energia durante a gravação pode deixar uma página parcialmente gravada. O InnoDB não consegue se recuperar dessa condição sozinho.

A solução tradicional do InnoDB é o mecanismo de doublewrite: ele grava cada página modificada (dirty page) primeiro no buffer de doublewrite e só depois a libera para sua localização real. Isso transforma cada liberação em duas operações de gravação, quase dobrando a carga de I/O de gravação.

A gravação atômica de 16K adota uma abordagem diferente. Em vez de gravar cada página duas vezes, ela exige que o armazenamento subjacente garanta que qualquer gravação de 16 KB seja concluída integralmente ou não ocorra. Com essa garantia, o buffer de doublewrite perde sua função de segurança. Assim, o parâmetro innodb_doublewrite é desativado, reduzindo o I/O de gravação pela metade.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Uma instância RDS executando MySQL 5.7 ou MySQL 8.0

  • Tipo de armazenamento: SSDs padrão ou Premium ESSDs

Faturamento

A gravação atômica de 16K é gratuita. Não há cobrança para ativá-la ou desativá-la.

Observações de uso

  • Reinicialização da instância necessária: A instância reinicia ao ativar ou desativar a gravação atômica de 16K. Planeje uma janela de manutenção antes de fazer alterações.

  • Vinculação entre instâncias primárias e somente leitura: Se a gravação atômica de 16K estiver ativada na instância primária, não será possível desativá-la nas instâncias somente leitura. Desativá-la apenas nas instâncias somente leitura causaria incompatibilidade de desempenho e atraso na replicação.

  • Herança de configuração: Instâncias somente leitura e instâncias restauradas de backup herdam a configuração de gravação atômica de 16K da instância de origem.

Ativar ou desativar a gravação atômica de 16K

Importante

Instâncias que atendem aos pré-requisitos e às condições abaixo têm a gravação atômica de 16K ativada por padrão:

  • Novas instâncias: Adquiridas no console do ApsaraDB RDS em ou após 14 de maio de 2025.

  • Instâncias YiTian RDS existentes: Instâncias cujo tipo de produto não foi alterado. Instâncias padrão existentes não oferecem suporte à gravação atômica de 16K.

  1. Abra a lista de instâncias do ApsaraDB RDS, selecione uma região e clique em ID da instância desejada.

  2. Na página Basic Information, clique em botão 16K atomic write para ativar ou desativar o recurso.

Testes de desempenho

Os resultados a seguir foram medidos com o teste oltp_write_only do Sysbench em instâncias High-availability Edition com Premium ESSDs. A comparação considera o QPS antes e depois de ativar a gravação atômica de 16K.

Configuração do teste

Instâncias de teste

Edição

Tipo de armazenamento

Família da instância

Tipo da instância

Especificações

High-availability

Premium ESSD

Uso geral

mysql.n2.large.2c

4 núcleos, 8 GB

High-availability

Premium ESSD

Dedicada

mysql.x2.large.2c

4 núcleos, 8 GB

Dados de teste: 300 GB distribuídos em 30 tabelas, com 40 milhões de linhas cada.

Instale o Sysbench (exemplo para CentOS):

git clone https://github.com/akopytov/sysbench.git
cd sysbench
git checkout 0.5

yum -y install make automake libtool pkgconfig libaio-devel
yum -y install mariadb-devel

./autogen.sh
./configure
make -j
make install

Preparar os dados de teste:

sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare

Parâmetros do teste

Parâmetro

Valor

Descrição

tables

30

Número de tabelas

table_size

40.000.000

Linhas por tabela

rand-type

special

Distribuição de números aleatórios

rand-spec-pct

15

Percentual tratado como valores especiais

threads

64

Threads simultâneas

time

100

Duração do teste (segundos)

Execute o teste

sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 run

Resultados do teste

Gravação atômica de 16K

  • Instância de uso geral (4 núcleos, 8 GB): O QPS aumentou 48% após a ativação da gravação atômica de 16K (laranja).

    image

  • Instância dedicada (4 núcleos, 8 GB): O QPS aumentou 47% após a ativação da gravação atômica de 16K (laranja).

    image

Gravação atômica de 16K + Buffer Pool Extension (BPE)

Para detalhes sobre o recurso Buffer Pool Extension (BPE) para Premium ESSDs, consulte Usar o recurso de aceleração de I/O de ESSDs gerais .
  • Instância de uso geral (4 núcleos, 8 GB): O QPS aumentou 93% após a ativação conjunta da gravação atômica de 16K e do BPE (laranja).

    image

Próximos passos

Referências