Tous les produits
Search
Centre de documentation

:Présentation de l'analyse des verrous

Dernière mise à jour :Aug 10, 2026

Database Autonomy Service (DAS) propose la fonctionnalité d'analyse des verrous pour consulter et analyser les interblocages, les blocages de transactions et les attentes de verrous de métadonnées dans une base de données. Elle facilite l'identification et le dépannage des problèmes d'attente de verrous, garantissant ainsi la stabilité de votre base de données.

Prérequis

  • Votre instance de base de données utilise l'un des moteurs suivants :

    • ApsaraDB RDS for MySQL

    • Base de données MySQL autogérée

    • PolarDB for MySQL

    • PolarDB-X 2.0

  • Votre instance de base de données est connectée à DAS et son état est défini sur Normal Access. Pour plus d'informations, consultez la rubrique Connecter une instance de base de données à DAS.

Précautions

La fonctionnalité d'analyse des interblocages ne peut pas traiter les interblocages contenant le message suivant : TOO DEEP OR LONG SEARCH IN THE LOCK TABLE WAITS-FOR GRAPH, WE WILL ROLL BACK FOLLOWING TRANSACTION.

Fonctionnalités

La fonctionnalité d'analyse des verrous permet d'analyser sous plusieurs angles les interblocages, les blocages de transactions et les attentes de verrous de métadonnées sur une instance de base de données.

Important

Les fonctionnalités full deadlock analysis et other lock analysis sont prises en charge uniquement pour les instances ApsaraDB RDS for MySQL et les clusters PolarDB for MySQL. Pour les utiliser, activez DAS Economy Edition ou DAS Enterprise Edition sur l'instance concernée. Ces éditions sont disponibles uniquement dans certaines régions. Pour plus d'informations, consultez la section Bases de données et régions prises en charge de la rubrique « Éditions et fonctionnalités prises en charge ». Pour savoir comment activer DAS Economy Edition ou DAS Enterprise Edition, reportez-vous à la section Activer DAS Economy Edition et DAS Enterprise Edition de la rubrique « Activer et gérer DAS Economy Edition et DAS Enterprise Edition ».

  • Recent deadlock analysis : DAS analyse le journal d'interblocage le plus récent présent dans la sortie de l'instruction SHOW ENGINE INNODB STATUS. En cas d'interblocages multiples, seul le plus récent est analysé. Pour plus d'informations, consultez la section Analyse des interblocages récents de la rubrique « Analyse des interblocages ».

  • Full deadlock analysis : DAS analyse régulièrement les journaux d'erreurs, extrait les informations relatives aux interblocages, puis effectue une analyse complète. Vous pouvez également visualiser les tendances des interblocages sur une plage horaire donnée et consulter les détails de chaque interblocage. Pour plus d'informations, consultez la section Analyse complète des interblocages de la rubrique « Analyse des interblocages ».

  • Other lock analysis : DAS analyse en temps réel les verrous de métadonnées et les transactions bloquées dans les sessions actives de votre instance de base de données, en s'appuyant sur les données des bases de données information_schema et performance_schema. Pour plus d'informations, consultez la rubrique Autres analyses de verrous.

    • Analyse des verrous de métadonnées : DAS déduit les relations d'attente de verrous et génère le diagramme correspondant à partir des données contenues dans des tables telles que information_schema.processlist.

    • Analyse du blocage des transactions : DAS analyse les relations de blocage entre les transactions et génère le diagramme correspondant à partir des données des tables information_schema.processlist, information_schema.innodb_trx et information_schema.innodb_lock_waits ou performance_schema.data_lock_waits. Les données de la table information_schema.innodb_lock_waits sont utilisées pour les instances exécutant MySQL 5.6 ou MySQL 5.7, tandis que celles de la table performance_schema.data_lock_waits servent aux instances exécutant MySQL 8,0.

      Remarque

      La fonctionnalité d'analyse du blocage des transactions n'est pas prise en charge par les clusters PolarDB for MySQL exécutant MySQL 5.6.

Paramètres de configuration

Pour utiliser une fonctionnalité d'analyse des interblocages, configurez les paramètres correspondants de l'instance de base de données. Le tableau suivant décrit les configurations requises pour chaque fonctionnalité.

Fonctionnalité d'analyse des verrous

Configuration de paramètre requise

Recent deadlock analysis

Définissez le paramètre innodb_deadlock_detect sur ON.

Full deadlock analysis

  • Définissez le paramètre innodb_deadlock_detect sur ON.

  • Définissez le paramètre innodb_print_all_deadlocks sur ON. Si l'instance de base de données est une instance ApsaraDB RDS for MySQL, vous devez également définir le paramètre log_error_verbosity sur 3.

Analyse du blocage des transactions dans other lock analysis

Si l'instance de base de données est une instance ApsaraDB RDS for MySQL 8,0 ou un cluster PolarDB for MySQL 8,0, vous devez définir le paramètre performance_schema sur ON.

Pour plus d'informations sur la modification des paramètres d'une instance de base de données, consultez l'une des rubriques suivantes selon le moteur utilisé :

Références

Étapes suivantes

En cas d'interblocage ou de blocage de transaction sur votre instance de base de données, exploitez les informations issues de l'analyse des verrous, telles que les ID de thread, pour examiner l'exécution des transactions concernées sur la page SQL Explorer et Audit. Cela vous aide à identifier la cause des attentes de verrous. Par exemple, après le démarrage d'une transaction et la mise à jour de lignes de données spécifiques, ces lignes sont verrouillées. Si l'exécution de la transaction se prolonge sans validation explicite ou implicite ni annulation, les sessions ou transactions ultérieures tentant de mettre à jour les mêmes lignes de données passeront dans l'état LOCK WAIT.