Todos os produtos
Search
Central de documentação

ApsaraDB RDS:TDE test report

Última atualização: Sep 24, 2026

ative a criptografia transparente de dados (TDE) no RDS for MySQL gera sobrecarga de criptografia, o que reduz o throughput de consultas e aumenta o uso da cpu. Este relatório apresenta dados de desempenho medidos em dois tamanhos de instância e em vários tipos de carga de trabalho para ajudar você a decidir se esse trade-off é adequado para o seu cenário.

Antes de ative o TDE

  • Impacto no desempenho: em baixa simultaneidade, o TDE reduz o throughput em até 20%. Em alta simultaneidade, a perda cai para menos de 5%, principalmente devido à mesclagem de E/S.

  • Sensibilidade da carga de trabalho: cargas de trabalho intensivas em gravação (oltp_write_only, oltp_update_index) apresentam a maior sobrecarga.

Conclusões do teste

  • Baixa simultaneidade: a perda de desempenho chega a 20%.

  • Alta simultaneidade: a perda de desempenho cai para menos de 5%, em grande parte devido à mesclagem de E/S.

  • Cargas de trabalho intensivas em gravação (oltp_write_only, oltp_update_index) apresentam a sobrecarga mais significativa.

  • Aumento na utilização da cpu quando o TDE está ativado e há acesso a tabelas criptografadas:

    • Instância de 4 núcleos e 16 GB: +0,06% a +4,22%

    • Instância de 8 núcleos e 32 GB: +0,12% a +2,86%

Ambiente de teste

Item de configuração Cenário 1 Cenário 2
Região e zona cn-hangzhou
Tipo de rede Virtual Private Cloud (VPC)
Arquitetura de hardware x86-64
Tipo de armazenamento SSDs locais premium
CPU 4 núcleos 8 núcleos
Memória 16 GB 32 GB
Tamanho do Buffer Pool 12 GB 24 GB
IOPS máximo 7.000 12.000
Versão da instância mysql80_8.0.28_20230610
Tamanho do conjunto de dados de teste 41 GB

Ferramenta de teste

Sysbench é uma ferramenta de benchmark de código aberto, modular, multiplataforma e multithread para avaliar o desempenho do banco de dados sob carga.

Métricas de teste

  • TPS (Transações por segundo): o número de transações que o banco de dados confirma por segundo.

  • Latência média: o tempo médio para executar uma transação, medido em milissegundos (ms).

Esquema da tabela de teste

Todos os testes usam o esquema de tabela padrão do Sysbench:

CREATE TABLE `sbtest8` (
  `id` int NOT NULL AUTO_INCREMENT,
  `k` int NOT NULL DEFAULT '0',
  `c` char(120) NOT NULL DEFAULT '',
  `pad` char(60) NOT NULL DEFAULT '',
  PRIMARY KEY (`id`),
  KEY `k_8` (`k`)
) ENGINE=InnoDB AUTO_INCREMENT=100001 DEFAULT CHARSET=utf8mb3

Procedimento de teste

Este procedimento mede o desempenho de acesso a tabelas criptografadas em uma instância MySQL com o TDE ativado em diferentes modelos de carga de trabalho.

  1. crie an RDS for MySQL instance.

  2. crie a database and an account.

  3. Em uma instância ECS Linux, instale o cliente MySQL:

    • CentOS: sudo yum install mysql

    • Ubuntu: sudo apt-get update e depois sudo apt install mysql-server

  4. Conecte-se ao banco de dados RDS for MySQL:

    Para obter o endpoint do banco de dados e o número da porta, consulte visualize and gerencie instance endpoints and ports .
    mysql -h<database_endpoint> -u<username> -P<port_number> -p<password>
  5. Saia do banco de dados e use o Sysbench para carregar os dados de teste. Este teste carrega 128 tabelas com 100.000 registros cada. O exemplo abaixo usa o modelo oltp_read_write com 16 threads. Substitua --threads=16 pela quantidade de threads que você deseja testar (valores válidos: 1, 8, 16, 32, 64, 128, 256).

    sysbench --db-driver=mysql \
      --mysql-host=<database_endpoint> \
      --mysql-port=<port_number> \
      --mysql-user=<username> \
      --mysql-password=<password> \
      --mysql-db=testdb \
      --table_size=1000000 \
      --tables=128 \
      --threads=16 \
      --time=60 \
      oltp_read_write prepare
  6. execute o teste:

    sysbench --db-driver=mysql \
      --mysql-host=<database_endpoint> \
      --mysql-port=<port_number> \
      --mysql-user=<username> \
      --mysql-password=<password> \
      --mysql-db=testdb \
      --table_size=1000000 \
      --tables=128 \
      --threads=16 \
      --time=60 \
      oltp_read_write run
  7. Limpe os dados de teste:

    sysbench --db-driver=mysql \
      --mysql-host=<database_endpoint> \
      --mysql-port=<port_number> \
      --mysql-user=<username> \
      --mysql-password=<password> \
      --mysql-db=testdb \
      --table_size=1000000 \
      --tables=128 \
      --threads=16 \
      --time=60 \
      oltp_read_write cleanup

Cenário de teste 1: instância de 4 núcleos e 16 GB com SSDs locais premium

Linha de base com o TDE desativado: rds_ssd_4c16g_tde_off[3] Instância com o TDE ativado: rds_ssd_4c16g_tde_on[2]

Gráficos de tendência de desempenho

image.png

image.png

Utilização de cpu

image.png

Resumo dos dados de desempenho

image.png

image.png

image.png

Cenário de teste 2: instância de 8 núcleos e 32 GB com SSDs locais premium

Linha de base com o TDE desativado: rds_ssd_8c32g_tde_off[11] Instância com o TDE ativado: rds_ssd_8c32g_tde_on[12]

Gráficos de tendência de desempenho

image.png

image.png

image.png

Resumo dos dados de desempenho

image.png

image.png

image.png