O AliSQL oferece suporte à limitação de DDL, o que permite definir limites máximos de BPS e IOPS para operações DDL. Esse controle sobre o consumo de recursos de E/S ajuda a garantir a estabilidade dos seus serviços online.
Visão geral
Contexto: O MySQL Community Edition não limita operações DDL, o que pode causar alto consumo de E/S. Esse problema é mais evidente no MySQL 8.0, em que o DDL paralelo pode aumentar ainda mais o uso de E/S e afetar seus serviços online.
Introdução: O AliSQL implementa a limitação de DDL ao estender a lógica de execução de DDL do MySQL Community Edition. Esse recurso permite definir limites de BPS e IOPS para operações DDL individuais. Limitar o consumo de recursos de E/S dessa forma evita picos de E/S e ajuda a manter a estabilidade dos seus serviços online.
Pré-requisitos
Para usar a limitação de DDL, sua instância deve atender a um dos seguintes requisitos de versão:
MySQL 8.4
MySQL 8.0 com versão secundária do mecanismo 20251031 ou posterior
Se sua instância não atender a esses requisitos, atualize a versão secundária do mecanismo ou a versão principal do mecanismo.
Parâmetros
Detalhes dos parâmetros
Use o parâmetro loose_innodb_ddl_io_limit_enabled para ativar ou desativar o recurso de limitação de DDL. Após ativar o recurso, utilize o parâmetro innodb_ddl_bps_limit para definir o limite de BPS e o parâmetro innodb_ddl_iops_limit para definir o limite de IOPS.
|
Parâmetro |
Descrição |
|
|
|
|
|
|
|
|
|
Modificar parâmetros
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 RDS e clique no ID da instância.
No painel de navegação à esquerda, clique em Parameter Settings.
Na aba Editable Parameters, localize o parâmetro desejado e defina seu valor.
Clique em OK e depois em Submit Parameters. Na caixa de diálogo exibida, especifique quando as alterações entrarão em vigor.
Procedimento
-
Ative o recurso de limitação de DDL
Siga as instruções na seção "Modificar parâmetros" para definir o parâmetro
loose_innodb_ddl_io_limit_enabledcomoONno console RDS e envie a alteração. -
Defina os limites de BPS e IOPS
Após ativar a limitação de DDL, configure os limites de BPS e IOPS em uma sessão antes de executar uma instrução DDL. É possível aplicar um limite ao BPS, ao IOPS ou a ambos.
# Limit the BPS for DDL operations to 100 MB. SET SESSION innodb_ddl_bps_limit = 100 * 1024 * 1024; # Limit the IOPS for DDL operations to 5,000. SET SESSION innodb_ddl_iops_limit = 5000;
Exemplo
Este exemplo compara o consumo de E/S de uma instância ao executar uma instrução DDL diretamente com a execução da mesma instrução com a limitação ativada.
# 1. Run the DDL statement directly.
ALTER TABLE t1 ADD INDEX idx_1(c1);
ALTER TABLE t1 DROP INDEX idx_1;
OPTIMIZE TABLE t1;
# 2. Set the BPS limit to 160 MB.
SET SESSION innodb_ddl_bps_limit = 160 * 1024 * 1024;
ALTER TABLE t1 ADD INDEX idx_1(c1);
ALTER TABLE t1 DROP INDEX idx_1;
OPTIMIZE TABLE t1;
