Tous les produits
Search
Centre de documentation

Database Autonomy Service:Gestion des sessions

Dernière mise à jour :Aug 10, 2026

La gestion des sessions du Database Autonomy Service (DAS) vous permet de surveiller en temps réel les sessions de base de données actives et anormales, et de prendre les mesures nécessaires pour résoudre les problèmes de performance. Vous pouvez consulter les métriques des sessions, exécuter une analyse SQL sur 10 secondes, appliquer une limitation du débit SQL, optimiser les instructions SQL et terminer les sessions.

Les exemples présentés dans cette rubrique utilisent une instance ApsaraDB RDS for MySQL.

Prérequis

  • L'instance de base de données est connectée à DAS et son état est défini sur Normal Access.

  • L'instance de base de données n'est pas une instance ApsaraDB RDS for SQL Server. DAS ne propose pas de gestion des sessions pour les instances ApsaraDB RDS for SQL Server.

Avertissement

Pour les instances RDS MySQL 8.0 dont la version mineure du moteur est antérieure à 20230610, l'exécution simultanée de commandes telles que COM_STATISTICS, COM_CHANGE_USER et l'instruction SHOW PROCESSLIST peut provoquer des interblocages, entraînant des échecs de connexion à l'instance. Mettez à jour vers la dernière version mineure du moteur pour éviter ce problème.

Ouvrir la gestion des sessions

  1. Connectez-vous à la console DAS.

  2. Dans le volet de navigation de gauche, sélectionnez Intelligent O&M Center > Instance Monitoring.

  3. Repérez l'instance de base de données cible et cliquez sur son ID d'instance.

  4. Dans le volet de gauche, cliquez sur Instance Sessions.

L'onglet Session Management affiche deux sections : Instance Sessions et Session Statistics.

Sessions d'instance

La section Instance Sessions présente les détails des sessions et fournit des actions de diagnostic.

Métriques en temps réel

L'en-tête de la section affiche les métriques suivantes :

Métrique Description
Exceptional sessions Nombre de sessions signalées comme anormales
Active sessions Nombre de sessions actuellement actives
Longest execution duration Durée de la requête la plus longue
CPU utilization Utilisation actuelle du processeur de l'instance
Connection usage Nombre actuel de connexions par rapport à la limite

Exécuter une analyse SQL sur 10 secondes

Cliquez sur 10s SQL Analysis dans le coin supérieur droit de la section. La boîte de dialogue affiche l'activité des requêtes capturée sur une fenêtre de 10 secondes, notamment :

  • Informations récapitulatives

  • Journaux des requêtes lentes

  • Aperçu SQL

Pour plus d'informations, consultez la rubrique Analyse SQL sur 10 secondes.

Activer la limitation du débit SQL

Cliquez sur SQL Throttling pour ouvrir la boîte de dialogue SQL Throttling. Configurez les paramètres pour appliquer une limitation du débit SQL basée sur des seuils aux sessions.

Pour plus d'informations, consultez la rubrique Limitation du débit SQL.

Optimiser le code SQL

Cliquez sur Optimize dans la liste des sessions pour optimiser une instruction SQL.

Pour plus d'informations, consultez la rubrique Optimisation SQL.

Exporter les sessions actives

Exportez les sessions actives depuis la section Instance Sessions.

Terminer des sessions

Pour terminer une session, saisissez le compte et le mot de passe de la base de données dans laquelle la session a été créée. Vous pouvez également utiliser un compte disposant des autorisations nécessaires pour terminer les sessions créées par d'autres comptes, tel qu'un compte privilégié.

La colonne User indique le compte de base de données qui a créé chaque session. Cliquez sur End Session History pour afficher l'historique des sessions terminées.

Statistiques des sessions

La section Session Statistics affiche des informations récapitulatives et des statistiques de sessions regroupées par utilisateur, source d'accès ou base de données.

Les informations récapitulatives incluent :

Métrique Description
Total number of sessions Toutes les sessions sur l'instance
Total number of ongoing sessions Sessions actuellement en cours
Longest session duration Durée de la session la plus longue

Exportez les informations récapitulatives et les statistiques des sessions par utilisateur, source d'accès ou base de données.

FAQ

Pourquoi un signe pourcentage (%) apparaît-il dans la colonne Source d'accès ?

Un signe pourcentage (%) peut apparaître dans la colonne Access Source de l'onglet Source Statistics sous l'onglet SQL Explorer lors de l'utilisation d'une procédure stockée.

Les étapes suivantes permettent de reproduire ce comportement. Dans cet exemple, l'instance de base de données est une instance ApsaraDB RDS for MySQL, le compte de test est test_user et la base de données de test est testdb.

  1. Créez une base de données et un compte standard, puis accordez des autorisations sur la base de données au compte standard dans la console ApsaraDB RDS. Pour plus de détails, consultez la rubrique Créer des comptes et des bases de données.

  2. Connectez-vous à l'instance en tant que test_user à l'aide du CLI. Pour plus de détails, consultez la rubrique Utiliser un client de base de données ou le CLI pour se connecter à une instance ApsaraDB RDS for MySQL.

  3. Basculez vers la base de données testdb et créez une procédure stockée :

    -- Switch to the testdb database.
    USE testdb;
    
    -- Create a stored procedure.
    DELIMITER $$
    DROP PROCEDURE IF EXISTS `das` $$
    CREATE DEFINER=`test_user`@`%` PROCEDURE `das`()
    BEGIN
    SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID();
    END $$
    DELIMITER;
  4. Connectez-vous à l'instance de base de données avec un compte privilégié. Pour plus de détails, consultez la rubrique Utiliser un client de base de données ou le CLI pour se connecter à une instance ApsaraDB RDS for MySQL.

  5. Appelez la procédure stockée :

    -- Switch to the testdb database.
    USE testdb;
    
    -- Call the stored procedure.
    CALL das();
    
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | ID     | USER      | HOST   | DB     | COMMAND | TIME | STATE     | INFO                                                                    |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+
    | 487818 | test_user | %:2065 | testdb | Query   |    0 | executing | SELECT * FROM information_schema.processlist WHERE Id = CONNECTION_ID() |
    +--------+-----------+--------+--------+---------+------+-----------+-------------------------------------------------------------------------+

La colonne HOST affiche %:2065, ce qui entraîne l'apparition du signe pourcentage dans la colonne Access Source.

Quelles sessions sont marquées comme anormales pour les instances ApsaraDB RDS for MySQL et les clusters PolarDB for MySQL ?

Les sessions suivantes sont marquées comme anormales :

Condition Détails
Instructions SQL bloquantes avec une durée d'exécution supérieure à 30 secondes Les instructions SQL bloquantes occupent les ressources pendant une période prolongée, empêchant l'exécution d'autres instructions SQL. Parmi les exemples courants figurent l'instruction FLUSH TABLES WITH READ LOCK et les instructions DDL en attente de verrous de métadonnées en raison de transactions en cours (par exemple, une session signalant une erreur « Waiting for table metadata lock »).
Transactions d'une durée supérieure à 30 secondes Transactions de longue durée qui conservent des ressources au-delà du seuil de 30 secondes.
Transactions non validées sans nouvelle instruction SQL exécutée pendant plus de 10 secondes Si une transaction est démarrée dans une session mais qu'aucune nouvelle instruction SQL n'est exécutée pendant plus de 10 secondes, la commande COMMIT a probablement été omise du code. Cela entraîne la conservation des ressources par la transaction et retarde leur libération.