Cette rubrique explique comment afficher les informations de diagnostic des sessions, notamment les statistiques et l'état des sessions.
Afficher l'aperçu des statistiques des sessions
Connectez-vous à la console ApsaraDB for OceanBase.
Dans le volet de navigation de gauche, sélectionnez Autonomy Service > Diagnostics Center.
-
Dans la section Instance Details, cliquez sur le nom de l'instance cible.
Le système redirige automatiquement vers le centre de diagnostics.
Dans le volet de navigation de gauche, cliquez sur Session Diagnostics.
Dans la section Statistics, consultez les statistiques actuelles des sessions ainsi que les détails des sessions du tenant, y compris les sessions actives et inactives. Sélectionnez un tenant et affichez les détails correspondants via les onglets Tenant Session, Session Statistics, Deadlock Detection et Row-level Lock Analysis.

Afficher les sessions du tenant
Sous l'onglet Tenant Session :
L'ID de session proxy correspond à l'identifiant de session enregistré par le serveur proxy de base de données.
L'ID de session de base de données est l'identifiant enregistré par l'OBServer et sert à identifier une connexion de base de données unique sur cet OBServer.
L'onglet Tenant Session n'affiche que la session actuelle. Une session proxy peut correspondre à plusieurs sessions de base de données, mais une seule est affichée. Si une session de base de données est active, celle-ci s'affiche. À défaut, une session est sélectionnée aléatoirement pour l'affichage.
-
Sélectionnez View Only Active Sessions pour rechercher les sessions actives. Sélectionnez plusieurs sessions actives afin de configurer la limitation de débit par lot.
RemarqueSi le champ Database Name correspondant à la session sélectionnée contient la valeur No_database (ce qui signifie qu'aucun nom de base de données n'a été spécifié lors de la connexion), il est impossible de configurer la limitation de débit par lot.
-
Sélectionnez Aggregate Sessions by SQL ID pour regrouper les sessions partageant le même identifiant SQL.
RemarqueLe regroupement par ID SQL permet d'analyser et de comparer le trafic ainsi que la consommation associés aux différents ID SQL, ce qui aide à identifier les consommateurs de ressources système.
Pour sélectionner l'option View Only Active Sessions , celle-ci doit déjà être activée.
-
Sélectionnez Show Sessions by Aggregation in SQL pour afficher les sessions selon la règle « Aggregation IN SQL », sans modifier les données statistiques. Sélectionnez plusieurs sessions actives pour définir la limitation de débit par lot.
RemarqueLa règle « Aggregation IN SQL » ignore le nombre de paramètres constants dans la clause IN des instructions SQL et considère chaque clause IN comme ne contenant qu'un seul paramètre constant. Les instructions SQL sont ensuite paramétrées selon cette logique, leur ID SQL est calculé et celles partageant le même ID sont regroupées dans la même catégorie.
L'option Show Sessions by Aggregation in SQL nécessite que l'option Aggregate Sessions by SQL ID soit préalablement sélectionnée.
Si le champ Database Name correspondant à la session sélectionnée contient la valeur No_database (ce qui signifie qu'aucun nom de base de données n'a été spécifié lors de la connexion), il est impossible de configurer la limitation de débit par lot.
Filtrez les sessions par User et Database Name.
Recherchez des sessions en utilisant Proxy Session ID, Database Session ID, SQL ID, SQL, Source, Target End ou le nœud de base de données Database Node.
Triez les sessions selon le Execution Time (s) et le CPU Time (s).
-
Cliquez sur une instruction SQL pour accéder à la page SQL Execution Details.
-
Pour les instructions SQL remplissant l'une des conditions suivantes, la page SQL Execution Details affiche le plan d'exécution des opérateurs ainsi que leurs détails d'exécution, comme illustré ci-dessous.
SQL utilisant l'indicateur MONITOR
SQL utilisant des indicateurs liés à l'exécution parallèle
-
SQL lente (temps d'exécution supérieur à 5 secondes)
RemarqueL'OBServer doit être en version 4.0 ou ultérieure.
Les statistiques peuvent ne pas s'afficher pour les opérateurs dont l'exécution est très rapide.
Pour plus d'informations sur l'indicateur MONITOR, consultez la documentation MONITOR Hint. Pour les indicateurs liés à l'exécution parallèle, reportez-vous à la section Hints related to parallel execution.
Pour les autres instructions SQL, la page SQL Execution Details affiche uniquement le plan d'exécution des opérateurs.
-
-
Fermez les sessions cibles.
Pour fermer une session unique : cliquez sur Close Session dans la colonne Operation de la session concernée.
Pour fermer plusieurs sessions : cochez les cases situées devant les sessions cibles, puis cliquez sur Close Sessions in Batches ci-dessous.
-
Pour fermer toutes les sessions :
Cochez la case située à gauche de Proxy Session ID, puis cliquez sur Close Sessions in Batches ci-dessous.
Sélectionnez n'importe quelle session, cliquez sur Select All ci-dessous, puis cliquez sur Close Sessions in Batches.
RemarqueAprès la fermeture de la session, vérifiez l'état de la tâche sous Optimization Management > Optimization Records.
-
Configurez la limitation de débit.
-
Définissez la limitation de débit pour une session unique :
Cliquez sur Set Throttling dans la colonne Operation de la session cible.
Dans la boîte de dialogue contextuelle, saisissez la concurrence maximale et cliquez sur OK.
Dans la boîte de dialogue contextuelle, cliquez sur OK.
-
Définissez la limitation de débit par lot :
Cochez les cases situées devant les sessions cibles, puis cliquez sur Batch Set Throttling ci-dessous.
Dans la boîte de dialogue contextuelle, saisissez la concurrence maximale et cliquez sur OK.
Dans la boîte de dialogue contextuelle, cliquez sur OK.
RemarqueAprès avoir configuré la limitation de débit, vérifiez l'état de la tâche sous Optimization Management > Optimization Records.
Si le champ Database Name correspondant à la session sélectionnée contient la valeur No_database (ce qui signifie qu'aucun nom de base de données n'a été spécifié lors de la connexion), il est impossible de configurer la limitation de débit par lot.
-
Afficher les détails des statistiques des sessions
-
Sous l'onglet Session Statistics :
-
Consultez ou exportez le nombre de sessions actives et le nombre total de sessions du cluster actuel, filtrés par utilisateur, source d'accès ou base de données.

Cliquez sur 10-second SQL Analysis en haut à droite pour analyser les exécutions des instructions SQL du tenant sur une période de 10 secondes. Consultez les résultats d'analyse par SQL Type, User, Source et Database.

-
Afficher la détection des interblocages
Sous l'onglet Deadlock Detection :
-
Si vous utilisez la détection des interblocages pour la première fois, cliquez sur Turn on Deadlock Detection. Une fois activée, ApsaraDB for OceanBase détecte et gère les événements d'interblocage en temps réel, ce qui consomme environ 2 % des ressources système. Activez cette fonctionnalité en fonction de l'état de votre cluster.
RemarqueLa détection des interblocages est uniquement prise en charge par ApsaraDB for OceanBase V4.x.

Une fois la détection des interblocages activée, le système vérifie la présence d'interblocages dans les tenants du cluster et fournit les résultats dans la section Deadlock Details. Ces résultats sont conservés pendant 7 jours.

Cliquez sur Turn off Deadlock Detection en haut à droite pour désactiver la détection des interblocages, ou cliquez sur l'icône d'actualisation pour mettre à jour les détails de la détection.
Afficher l'analyse des verrous au niveau des lignes
Sous l'onglet Row-level Lock Analysis :
Consultez les informations relatives aux lignes et le nombre de sessions impliquées dans le verrouillage.
Sélectionnez le tenant cible pour afficher ses informations de verrouillage de ligne.
-
Pour libérer une session détenant un verrou, fermez-la. Avant toute fermeture, assurez-vous que la session et les instructions SQL métier qui s'y exécutent peuvent être arrêtées en toute sécurité.
RemarqueL'analyse des verrous de ligne est une fonctionnalité de requête en temps réel qui affiche uniquement les verrous de ligne et les informations de session associées dont le temps d'attente de verrou dépasse 20 ms au moment de la requête. Cette fonctionnalité est prise en charge uniquement par ApsaraDB for OceanBase Database V4.2.0 et versions ultérieures.
Les informations de verrouillage de ligne peuvent présenter des délais. Si l'ID de session du détenteur du verrou ne s'affiche pas, cela indique que la transaction est probablement déjà terminée.
