Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Limitation du débit des opérations DDL

Dernière mise à jour :Oct 12, 2026

AliSQL prend en charge la limitation du débit des opérations DDL, ce qui vous permet de définir des plafonds pour le débit en octets par seconde (BPS) et les opérations d'entrée/sortie par seconde (IOPS). Ce contrôle de la consommation des ressources d'E/S contribue à garantir la stabilité de vos services en ligne.

Présentation

Contexte : La version communautaire de MySQL n'applique aucune limitation aux opérations DDL, ce qui peut entraîner une consommation élevée des E/S. Ce problème est plus marqué avec MySQL 8.0, où l'exécution parallèle des DDL peut encore augmenter l'utilisation des E/S et potentiellement impacter vos services en ligne.

Principe : AliSQL implémente la limitation du débit DDL en étendant la logique d'exécution DDL de la version communautaire de MySQL. Cette fonctionnalité vous permet de définir des limites de BPS et d'IOPS pour chaque opération DDL. En limitant ainsi la consommation des ressources d'E/S, vous évitez les pics d'activité et maintenez la stabilité de vos services en ligne.

Prérequis

Pour utiliser la limitation du débit DDL, votre instance doit satisfaire l'une des exigences de version suivantes :

  • MySQL 8.4

  • MySQL 8.0 avec une version mineure du moteur égale ou supérieure à 20251031

Si votre instance ne répond pas à ces exigences, vous pouvez mettre à niveau la version mineure du moteur ou la version majeure du moteur.

Paramètres

Détails des paramètres

Utilisez le paramètre loose_innodb_ddl_io_limit_enabled pour activer ou désactiver la fonctionnalité de limitation du débit DDL. Une fois la fonctionnalité activée, servez-vous du paramètre innodb_ddl_bps_limit pour définir la limite de BPS et du paramètre innodb_ddl_iops_limit pour définir la limite d'IOPS.

Paramètre

Description

loose_innodb_ddl_io_limit_enabled

  • Description : Active ou désactive la fonctionnalité de limitation du débit DDL.

  • Portée : Globale.

  • Type de données : Boolean.

  • Valeur par défaut : OFF.

  • Valeurs valides : ON ou OFF.

  • Redémarrage requis : Non.

innodb_ddl_bps_limit

  • Description : Définit la limite de BPS.

  • Portée : Session.

  • Type de données : LONG.

  • Valeur par défaut : 0 (aucune limite de BPS).

  • Valeurs valides : de 0 à 18446744073709551615.

  • Redémarrage requis : Non.

innodb_ddl_iops_limit

  • Description : Définit la limite d'IOPS.

  • Portée : Session.

  • Type de données : LONG.

  • Valeur par défaut : 0 (aucune limite d'IOPS).

  • Valeurs valides : de 0 à 18446744073709551615.

  • Redémarrage requis : Non.

Modifier les paramètres

  1. Accédez à la page Instances. Dans la barre de navigation supérieure, sélectionnez la région où se trouve l'instance RDS. Localisez ensuite l'instance RDS et cliquez sur son ID.

  2. Dans le volet de navigation de gauche, cliquez sur Parameter Settings.

  3. Sous l'onglet Editable Parameters, repérez le paramètre cible et définissez sa valeur.

  4. Cliquez sur OK puis sur Submit Parameters. Dans la boîte de dialogue qui s'affiche, spécifiez le moment où les modifications prendront effet.

Procédure

  1. Activer la fonctionnalité de limitation du débit DDL

    Suivez les instructions de la section « Modifier les paramètres » pour définir le paramètre loose_innodb_ddl_io_limit_enabled sur ON dans la console RDS, puis soumettez la modification.

  2. Définir les limites de BPS et d'IOPS

    Après avoir activé la limitation du débit DDL, configurez les limites de BPS et d'IOPS au sein d'une session avant d'exécuter une instruction DDL. Vous pouvez appliquer une limite au BPS, aux IOPS, ou aux deux.

    # 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;

Exemple

Cet exemple compare la consommation d'E/S d'une instance lorsqu'une instruction DDL est exécutée directement par rapport à une exécution avec la limitation du débit activée.

# 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;

image.png