Tous les produits
Search
Centre de documentation

ApsaraDB RDS:Que faire en cas d'utilisation élevée des IOPS sur une instance ApsaraDB RDS for MySQL ?

Dernière mise à jour :Oct 09, 2026

Une utilisation élevée des IOPS sur une instance ApsaraDB RDS for MySQL indique généralement que les requêtes lisent les données depuis le disque plutôt que depuis la mémoire. Utilisez le rapport de diagnostic du service Database Autonomy Service (DAS) pour identifier la cause racine, puis mettez fin aux sessions responsables.

Causes

Les pics d'IOPS sur RDS for MySQL proviennent de l'une des deux causes racines suivantes :

  • Mémoire insuffisante pour la mise en cache ou le tri : Lorsque la capacité mémoire de l'instance RDS ne peut pas répondre aux exigences de mise en cache ou de tri des données, un grand nombre d'opérations d'E/S physiques est généré.

  • Analyses complètes de table ou requêtes peu efficaces : Les requêtes qui analysent un grand nombre de lignes sans utiliser d'index produisent des E/S proportionnelles aux lignes consultées plutôt qu'aux lignes renvoyées. Des tris répétés sans plan d'exécution efficace amplifient cet effet.

Réduire l'utilisation des IOPS

Utilisez l'une ou l'autre des méthodes suivantes, ou les deux.

Générer un rapport de diagnostic (recommandé)

Le rapport de diagnostic en un clic de DAS affiche les sessions actives, les interblocages et les requêtes lentes dans une vue unique et fournit des suggestions d'optimisation applicables immédiatement.

  1. Connectez-vous à l'instance RDS dans la console Data Management (DMS).

  2. Cliquez avec le bouton droit sur l'instance RDS et choisissez Performance > One-click diagnosis.

  3. Dans la console DAS, consultez les sessions en temps réel, les interblocages et les requêtes lentes.

  4. Cliquez sur le lien de détails du module concerné et appliquez les suggestions d'optimisation.

Mettre fin aux sessions anormales

Si aucun rapport de diagnostic n'est disponible ou si les modifications d'optimisation ne peuvent pas être appliquées immédiatement, mettez fin aux sessions générant un nombre excessif de lectures physiques. Dans la vue des sessions de DAS, concentrez-vous sur les sessions où Physical_sync_read ou Physical_async_read affiche une valeur élevée — ces deux indicateurs signalent d'intenses lectures sur le disque physique.

La terminaison des sessions apporte un soulagement temporaire. Arrêtez les requêtes au niveau de l'application pour éviter qu'elles ne se reconnectent et ne s'exécutent à nouveau.

Mettre fin aux sessions dans DMS

  1. Connectez-vous à l'instance RDS dans la console Data Management (DMS).

  2. Cliquez avec le bouton droit sur l'instance RDS et choisissez Performance > Instance session.

  3. Sélectionnez la session à terminer et cliquez sur Kill Selected.

Mettre fin aux sessions depuis la ligne de commande MySQL

Les commandes SHOW PROCESSLIST et SHOW FULL PROCESSLIST renvoient un instantané des sessions actives au moment de l'exécution. Exécutez-les plusieurs fois pour identifier les sessions constamment actives ou consommant le plus de ressources.

  1. Connectez-vous à l'instance RDS à l'aide de l'outil de ligne de commande MySQL.

  2. Identifiez les sessions anormales :

    • Exécutez SHOW PROCESSLIST; pour obtenir une vue résumée. show processlist

    • Si de nombreuses sessions sont actives, exécutez SHOW FULL PROCESSLIST; pour afficher le texte complet de la requête.

  3. Mettez fin aux sessions anormales. Remplacez [$ID] par la valeur de la colonne ID.

    kill [$ID]

Si vous ne pouvez pas vous connecter à l'instance

Lorsque le nombre de connexions atteint la limite supérieure, DMS et l'outil de ligne de commande MySQL échouent tous deux à se connecter. Définissez le paramètre wait_timeout sur une petite valeur, telle que 60, dans la console ApsaraDB RDS. Cela amène l'instance à fermer automatiquement les connexions inactives depuis plus de 60 secondes, libérant ainsi des emplacements de connexion pour vous permettre de vous connecter et de commencer le diagnostic.

Champ d'application

ApsaraDB RDS for MySQL