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 |
|
|
|
|
|
|
|
|
|
Modifier les paramètres
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.
Dans le volet de navigation de gauche, cliquez sur Parameter Settings.
Sous l'onglet Editable Parameters, repérez le paramètre cible et définissez sa valeur.
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
-
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_enabledsurONdans la console RDS, puis soumettez la modification. -
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;
