Todos os produtos
Search
Central de documentação

ApsaraDB RDS:16K atomic write

Última atualização: Oct 12, 2026

O recurso de gravação atômica de 16K do ApsaraDB RDS for MySQL melhora a eficiência de gravação ao desabilitar o parâmetro innodb_doublewrite (mecanismo de doublewrite do InnoDB). Este tópico descreve como utilizar o recurso de otimização de gravação e como realizar um teste de desempenho.

Informações básicas

A unidade mínima de leitura e gravação de dados no mecanismo MySQL InnoDB é uma página (geralmente com tamanho de 16 KB), mas a unidade mínima de E/S de um sistema de arquivos costuma ser de 4 KB. Ao gravar uma página de dados em disco, condições extremas, como quedas de energia, podem fazer com que algumas páginas do InnoDB sejam gravadas de forma incompleta. Por isso, o InnoDB introduziu o mecanismo de doublewrite para garantir a atomicidade das páginas de dados e evitar erros de gravação parcial. Quando o InnoDB precisa liberar páginas sujas (dirty pages), os dados são gravados no buffer de doublewrite. Se esse buffer estiver cheio, a thread responsável pela liberação só poderá ser executada novamente após o lote anterior de dados ser gravado no disco. Cada operação de liberação envolve duas operações de gravação, o que aumenta o consumo de recursos de E/S do disco.

Na maioria dos casos, a E/S do disco pode se tornar um gargalo de desempenho para aplicações com uso intensivo de gravação. O mecanismo de doublewrite do InnoDB aumenta significativamente o consumo de recursos de largura de banda e afeta o desempenho da sua instância ApsaraDB RDS for MySQL.

Visão geral do recurso

O ApsaraDB RDS for MySQL oferece suporte à gravação atômica de 16K ponta a ponta. Ao habilitar o recurso de gravação atômica de 16K, a atomicidade de cada gravação de página de dados é garantida, permitindo desabilitar com segurança o mecanismo de doublewrite do InnoDB. Isso reduz o número de operações de E/S de gravação, simplifica as operações de liberação e diminui significativamente os IOPS e a largura de banda necessários para gravar dados no disco, melhorando o desempenho de gravação da sua instância RDS.

Após habilitar o recurso de gravação atômica de 16K, as consultas por segundo (QPS) aumentam pelo menos 40%. Para mais informações, consulte Performance Testing.

Pré-requisitos

  • Sua instância deve executar o MySQL 5.7, 8.0 ou 8.4.

  • Tipo de armazenamento: A instância RDS deve usar SSDs padrão ou discos de alto desempenho.

Faturamento

O recurso de gravação atômica de 16K é gratuito. Não há cobrança ao habilitar ou desabilitar esse recurso.

Precauções

  • Ao habilitar ou desabilitar o recurso de gravação atômica de 16K, sua instância RDS será reiniciada. Proceda com cautela.

  • Se você habilitar o recurso de gravação atômica de 16K em uma instância primária, não será possível desabilitá-lo nas instâncias somente leitura associadas, evitando atrasos de replicação causados por inconsistência de desempenho.

  • Ao criar uma instância somente leitura ou restaurar dados de um backup, a configuração de gravação atômica de 16K é herdada da instância de origem.

Gerenciar gravação atômica de 16K

Importante

Para melhorar o desempenho da instância e a experiência do usuário, as instâncias que atendem aos prerequisites para habilitar o recurso de gravação atômica de 16K e às condições abaixo já possuem esse recurso habilitado por padrão:

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

  • Instâncias YiTian RDS existentes: instâncias cuja product type não foi alterada.

Instâncias padrão existentes não oferecem suporte ao recurso de gravação atômica de 16K.

É possível habilitar ou desabilitar manualmente o recurso de gravação atômica de 16K no console para instâncias compatíveis.

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

  2. Na página Basic Information, clique no interruptor de gravação atômica de 16K para habilitar ou desabilitar o recurso.

Teste de desempenho

Preparação do teste

  • Recursos e métodos de teste: Este teste executa operações de gravação de dados em tipos de instância de uso geral e dedicada, em instâncias de alta disponibilidade com discos de alto desempenho, para observar as diferenças de desempenho antes e depois de habilitar o recurso de gravação atômica de 16K.

    Edição

    Tipo de armazenamento

    Família de instâncias

    Tipo de instância

    CPU e memória

    Alta disponibilidade

    Disco de alto desempenho

    Uso geral

    mysql.n2.large.2c

    4 núcleos, 8 GB

    Alta disponibilidade

    Disco de alto desempenho

    Dedicada

    mysql.x2.large.2c

    4 núcleos, 8 GB

  • Instalação da ferramenta de teste: Este exemplo mostra como instalar o Sysbench em um sistema CentOS. Execute os comandos abaixo para realizar a instalação. Para mais detalhes, consulte a documentação oficial do Sysbench.

    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
     
  • Preparação dos dados de teste: 300 GB de dados (30 tabelas, 40 milhões de linhas por tabela).

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

    A tabela a seguir descreve os parâmetros envolvidos no teste de desempenho.

    Parâmetro

    Descrição

    tables

    Quantidade de tabelas. Neste exemplo, são utilizadas 30 tabelas.

    table_size

    Número de linhas em cada tabela. Neste exemplo, cada tabela contém 40 milhões de linhas.

    rand-type

    Tipo de distribuição dos números aleatórios. Neste exemplo, utiliza-se "special".

    rand-spec-pct

    Percentual de números aleatórios especiais considerados valores especiais. Neste exemplo, usa-se 15%.

    threads

    Quantidade de threads simultâneas. Neste exemplo, o valor definido é 64.

    time

    Duração do teste, em segundos. Neste exemplo, o valor é 100.

Testar desempenho de gravação

Execute o comando a seguir na instância de teste para comparar o desempenho de QPS com o recurso de gravação atômica de 16K habilitado e desabilitado.

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

Resultados do teste

Resultados do teste de gravação atômica de 16K

  • A figura a seguir apresenta os resultados do teste para a instância RDS padrão que executa o RDS High-availability Edition e utiliza um tipo de instância de uso geral com 4 núcleos e 8 GB de memória:

    Com o recurso de gravação atômica de 16K habilitado (laranja), o QPS aumenta 48%.

    image

  • A imagem abaixo exibe os resultados do teste para a instância RDS padrão que executa o RDS High-availability Edition e utiliza um tipo de instância dedicada com 4 núcleos e 8 GB de memória:

    Ao habilitar o recurso de gravação atômica de 16K (laranja), observa-se um aumento de 47% no QPS.

    image

Resultados do teste de gravação atômica de 16K + Buffer Pool Extension (BPE)

Nota

Para mais informações sobre o recurso Buffer Pool Extension (BPE) em discos de alto desempenho, consulte Buffer Pool Extension (BPE) feature.

O gráfico a seguir ilustra os resultados do teste para a instância RDS padrão que executa o RDS High-availability Edition e utiliza um tipo de instância de uso geral com 4 núcleos e 8 GB de memória:

Quando os recursos de gravação atômica de 16K e Buffer Pool Extension (BPE) estão habilitados (laranja), o QPS aumenta 93%.image

Referências