Todos os produtos
Search
Central de documentação

:Use the I/O acceleration feature of general ESSDs

Última atualização: Jul 02, 2026

Para aumentar a eficiência de E/S do disco e a velocidade de resposta do sistema, use o recurso de aceleração de E/S de Enterprise SSDs (ESSDs) gerais em uma instância do ApsaraDB RDS for MySQL. Esse recurso amplia o tamanho do buffer pool, implementa a aceleração de cache e melhora o desempenho geral de leitura e gravação da instância RDS. Este tópico descreve o funcionamento do recurso de aceleração de E/S, como usá-lo e apresenta detalhes sobre os testes de desempenho.

Informações básicas

A leitura de dados do disco para a memória e a gravação de dados da memória no disco são operações de E/S comuns em sistemas de banco de dados. As operações de E/S em disco são mais lentas que as operações em memória e exigem mais tempo para conclusão. Se o seu sistema de banco de dados enfrentar cargas de trabalho intensas de leitura e gravação ou precisar processar solicitações frequentes desse tipo, a E/S do disco pode se tornar um gargalo de desempenho.

O ApsaraDB RDS lançou os ESSDs gerais, um novo tipo de armazenamento. Os ESSDs gerais são compatíveis com todos os recursos dos ESSDs, usam uma arquitetura de armazenamento em três camadas para gerenciar, ler e gravar hierarquicamente diferentes tipos de dados e cache, e oferecem suporte aos recursos de pico de E/S e aceleração de E/S para melhorar o desempenho de E/S das instâncias do ApsaraDB RDS.

Aceleração de E/S

Introdução

O buffer pool é uma área de memória usada para armazenar dados do disco em cache. Quando um bloco de dados precisa ser lido ou gravado no disco, o sistema o busca no buffer pool.

  • Se o bloco de dados estiver no buffer pool, o sistema fará a leitura e a gravação diretamente nessa área.

  • Caso o bloco não esteja no buffer pool, o sistema lerá ou gravará os dados no disco e, em seguida, os armazenará no buffer pool.

O buffer pool reduz eficientemente o número de operações de E/S em disco e melhora o desempenho de E/S da sua instância RDS. O tamanho do buffer pool varia conforme a quantidade de memória disponível. Se os recursos de memória forem insuficientes, o tamanho do buffer pool será limitado, o que afeta o desempenho de E/S.

O recurso de aceleração de E/S do ApsaraDB RDS for MySQL oferece a Extensão do Buffer Pool (BPE) para expandir o tamanho do buffer pool. Com base nas capacidades do kernel do mecanismo de banco de dados necessário, esse recurso também aprimora o desempenho geral de leitura e gravação da instância RDS, permitindo que ela processe mais solicitações de leitura e gravação em um determinado período. Isso aumenta a eficiência da E/S do disco, melhora a velocidade de resposta do sistema e implementa a aceleração de cache.

Benefícios

Com o suporte a BPE no recurso de aceleração de E/S, o ApsaraDB RDS for MySQL passa a contar com uma arquitetura de armazenamento em três camadas. Isso atende às necessidades de armazenamento em diferentes cenários, permite o uso completo de diversos meios de armazenamento da infraestrutura da Alibaba Cloud e aprimora o desempenho de E/S da sua instância RDS.

  • Melhoria no desempenho de leitura e gravação e redução na duração de execução de consultas SQL

    • Ao armazenar dados em cache, o BPE aumenta significativamente a velocidade de acesso às páginas de dados e reduz o tempo de execução das consultas SQL.

    • O BPE diminui consideravelmente a frequência de acesso aos arquivos de dados nos ESSDs gerais de uma instância RDS, reduzindo também a largura de banda consumida por esses discos.

  • Aumento da estabilidade da instância

    O disco com BPE ativado apresenta latência inferior à dos ESSDs gerais. O BPE reduz significativamente o impacto das oscilações de E/S dos ESSDs gerais na instância RDS, aumentando sua estabilidade.

Nota

No Centro de Experiência de Soluções da Infraestrutura de Negócios da Alibaba Cloud, você pode visualizar os resultados de testes de estresse em tempo real antes e depois da ativação do recurso de aceleração de E/S, com base em instâncias RDS reais. O recurso é fornecido gratuitamente. Para obter mais informações, consulte Visualizar o desempenho do recurso de aceleração de E/S de ESSDs gerais.

Vantagens

Ao ativar o recurso de aceleração de E/S em uma instância RDS, não há cobrança de taxas adicionais nem necessidade de modificar o código das suas aplicações.

O desempenho de E/S da sua instância RDS é significativamente aprimorado sem alteração de custos ou do código da aplicação. Por exemplo, se uma instância RDS executar a Edição de Alta Disponibilidade do RDS e usar um tipo de instância de uso geral com 8 núcleos e 16 GB de memória, e você ativar o recurso de aceleração de E/S, as consultas por segundo (QPS) para operações de leitura e gravação aumentarão. Para obter mais informações, consulte Teste de desempenho.

Funcionamento do recurso de aceleração de E/S

O recurso de aceleração de E/S de ESSDs gerais usa o BPE para melhorar o desempenho dos ESSDs sem aumentar custos. Ele herda a capacidade de separação de armazenamento entre dados quentes e frios, além de aumentar o tamanho do buffer pool do InnoDB para armazenar páginas de dados e dados quentes no BPE. Dessa forma, o InnoDB pode usar flexivelmente múltiplos meios de armazenamento para aumentar o QPS.

Arquitetura

A figura a seguir ilustra a arquitetura de implantação do BPE.

c2a2493768b021f69aa2ff9d5011102b

O BPE usa vários discos de alta velocidade como meios de cache entre a memória e os ESSDs gerais. Em comparação com os ESSDs gerais, os discos de alta velocidade oferecem menor latência de E/S e melhor desempenho.

Nota
  • Os discos de alta velocidade funcionam apenas como meios de cache.

  • Arquivos de dados, logs binários e arquivos redo são armazenados nos ESSDs gerais.

Esse recurso aumenta o tamanho do buffer pool do InnoDB para armazenar páginas de dados no BPE. Assim, o InnoDB consegue usar flexivelmente múltiplos meios de armazenamento.

Implementação

Após ativar o recurso de aceleração de E/S, as páginas de dados de uma instância RDS são armazenadas em cache no BPE dos discos de alta velocidade.

Nota

Todas as páginas de dados armazenadas em cache no BPE são páginas limpas. Essas páginas mantêm consistência com os dados dos arquivos armazenados nos ESSDs gerais.

A lista a seguir descreve o processo de leitura de uma página de dados:

  1. O cliente inicia uma solicitação para ler uma página de dados.

  2. A solicitação acessa o buffer pool na memória para consultar a página de dados.

    • Se a página estiver no buffer pool, o resultado da consulta retorna ao cliente, encerrando o processo de leitura.

    • Caso a página não esteja no buffer pool, o sistema prossegue para a Etapa 3.

  3. A solicitação acessa o BPE nos discos de alta velocidade para consultar a página de dados.

    • Se a página estiver no BPE, ela retorna ao buffer pool e o resultado da consulta é enviado ao cliente, encerrando o processo.

    • Se a página não estiver no BPE, o sistema prossegue para a Etapa 4.

  4. A solicitação acessa o arquivo da tabela de dados nos ESSDs gerais para consultar a página. Se encontrada, a página retorna ao buffer pool e o resultado da consulta é enviado ao cliente.

  5. O processo de consulta e leitura é concluído.

Escopo de aplicação

  • A instância RDS deve executar MySQL.

  • A instância RDS deve executar MySQL 8.0 com versão secundária do mecanismo 20230914 ou posterior.

  • A instância deve ser da Edição de Alta Disponibilidade do RDS ou da Edição Cluster do RDS.

  • O tipo de produto da instância RDS deve ser padrão.

  • A instância RDS deve usar um tipo de instância de uso geral.

  • A instância RDS deve estar localizada em uma das seguintes regiões e zonas. Verifique as regiões e zonas suportadas no console do ApsaraDB RDS.

    Região

    Zona

    China (Chengdu)

    Zona B

    China (Pequim)

    Zona I

    China (Xangai)

    Zona M

    Zona N

    China (Hangzhou)

    Zona J

    Nota

    Após ativar o recurso I/O acceleration na página de compra do ApsaraDB RDS, verifique a disponibilidade do recurso na seção Zone and Network of Primary Node.

Regras de faturamento

Não há cobrança pelo recurso de aceleração de E/S de ESSDs gerais em instâncias RDS que usam tipos de instância de uso geral.

Notas de uso

  • O recurso de aceleração de E/S é gratuito para instâncias RDS com tipos de instância de uso geral.

  • Como os dados comerciais são armazenados persistentemente em discos de dados, a perda de dados no BPE não afeta os dados comerciais nem o uso normal das instâncias RDS.

  • O uso do recurso de aceleração de E/S consome uma quantidade específica de memória, equivalente a 4% da memória definida pelo parâmetro buffer_pool_size. A memória alocada com base no valor padrão desse parâmetro é reduzida automaticamente em 4%. Caso precise alterar o valor de buffer_pool_size posteriormente, faça-o com base na métrica de uso de memória.

  • Ativar ou desativar o recurso de aceleração de E/S causa uma interrupção de serviço de aproximadamente 30 segundos. Recomendamos realizar essa operação fora dos horários de pico.

  • A ativação do recurso de aceleração de E/S melhora significativamente o desempenho da instância RDS. Quanto maiores as especificações da instância, maior será a melhoria. Por exemplo, em uma instância RDS padrão da Edição de Alta Disponibilidade com tipo de instância de uso geral (8 núcleos e 16 GB de memória), o desempenho pode aumentar em até 103%.

  • O buffer pool reduz eficientemente o número de operações de E/S em disco e melhora o desempenho de E/S da instância RDS. Seu tamanho varia conforme a memória disponível; recursos de memória insuficientes limitam o tamanho do buffer pool, afetando o desempenho de E/S.

Usar o recurso de aceleração de E/S

Ativar o recurso de aceleração de E/S

Ativar o recurso de aceleração de E/S durante a criação de uma instância RDS

Ao criar uma instância RDS, configure os parâmetros necessários e ative o recurso de aceleração de E/S. Para obter mais informações, consulte Usar o recurso de aceleração de E/S de ESSDs gerais.

image

Ativar o recurso de aceleração de E/S em uma instância RDS existente que atenda aos requisitos

  1. Faça login no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, localize a instância e clique em ID correspondente.

  2. Na seção Basic Information, clique em Configure General ESSD ao lado do parâmetro Storage Type. Na caixa de diálogo exibida, ative a opção I/O Acceleration.

    image

Desativar o recurso de aceleração de E/S

  1. Faça login no console do ApsaraDB RDS e acesse a página Instances. Na barra de navegação superior, selecione a região onde a instância RDS está localizada. Em seguida, localize a instância e clique em ID correspondente.

  2. Na seção Basic Information, clique em Configure General ESSD ao lado do parâmetro Storage Type. Na caixa de diálogo exibida, desative a opção I/O Acceleration.

    image

Teste de desempenho

Preparativos para o teste

  • Método: Realize operações de leitura e gravação em instâncias RDS com o mesmo tipo de instância e compare o desempenho de QPS antes e depois da ativação do recurso de aceleração de E/S.

  • Volume de dados: 300 GB.

  • Ferramenta: Sysbench. Para obter mais informações, consulte a documentação do Sysbench.

    Nota

    Crie previamente uma instância do Elastic Compute Service (ECS). Neste exemplo, a ferramenta de teste é instalada nessa instância ECS. Para obter mais informações, consulte Criar e gerenciar uma instância ECS pelo console do ECS.

  • Instâncias de teste: duas instâncias RDS executando a Edição de Alta Disponibilidade do RDS com tipo de instância de uso geral. Uma instância possui 4 núcleos e 8 GB de memória, e a outra possui 8 núcleos e 16 GB de memória. O recurso de aceleração de E/S está ativado em ambas.

    Edição do RDS

    Tipo de instância

    Número de núcleos de CPU e capacidade de memória

    Edição de Alta Disponibilidade do RDS

    mysql.n2.large.xc

    4 núcleos, 8 GB

    Edição de Alta Disponibilidade do RDS

    mysql.n2.xlarge.xc

    8 núcleos, 16 GB

Método de teste

Esta seção usa o sistema CentOS como exemplo para realizar o teste de desempenho. Para instalar o Sysbench em outros sistemas operacionais, siga as instruções na documentação do Sysbench.

Instalar o Sysbench

Execute o comando a seguir para instalar o 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
 

Testar o desempenho de QPS de uma instância RDS

Descrição

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

Parâmetro

Descrição

--tables

Número de tabelas.

--table_size

Número de entradas em cada tabela.

--rand-type

Tipo de distribuição usada para gerar números aleatórios.

--rand-spec-pct

Percentual de números aleatórios especiais considerados valores especiais.

--threads

Número de threads simultâneas.

--time

Duração do teste. Unidade: segundos.

Testar o desempenho de leitura

  1. Execute o comando a seguir para gerar 300 GB de dados, incluindo 30 tabelas com 40 milhões de linhas cada:

    sysbench oltp_read_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare
  2. Execute o comando a seguir para testar o desempenho de leitura da instância RDS:

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

Testar o desempenho de gravação

  1. Execute o comando a seguir para gerar 300 GB de dados, incluindo 30 tabelas com 40 milhões de linhas cada:

    sysbench oltp_write_only --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare
  2. Execute o comando a seguir para testar o desempenho de gravação da instância RDS:

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

Testar o desempenho de leitura e gravação

  1. Execute o comando a seguir para gerar 300 GB de dados, incluindo 30 tabelas com 40 milhões de linhas cada:

    sysbench oltp_read_write --tables=30 --table_size=40000000 --rand-type=special --rand-spec-pct=15 --threads=64 --time=100 prepare
  2. Execute o comando a seguir para testar o desempenho de leitura e gravação da instância RDS:

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

Resultados do teste

  • Resultados para a instância RDS padrão da Edição de Alta Disponibilidade com tipo de instância de uso geral (4 núcleos e 8 GB de memória):

    • Desempenho de leitura: O QPS permaneceu praticamente igual antes e depois da ativação do recurso de aceleração de E/S.

    • Desempenho de gravação: O QPS aumentou 30% após a ativação do recurso.

    • Desempenho de leitura e gravação: O QPS aumentou 26% após a ativação do recurso.

    image.png

  • Resultados para a instância RDS padrão da Edição de Alta Disponibilidade com tipo de instância de uso geral (8 núcleos e 16 GB de memória):

    • Desempenho de leitura: O QPS aumentou 80% após a ativação do recurso.

    • Desempenho de gravação: O QPS aumentou 33% após a ativação do recurso.

    • Desempenho de leitura e gravação: O QPS aumentou 103% após a ativação do recurso.

    image.png

Referências