Surveiller les requêtes actives

Cette page explique comment surveiller et résoudre les problèmes liés aux requêtes actives dans votre base de données. La surveillance de ces requêtes peut aider à identifier les causes de la latence du système et d'une utilisation élevée du processeur.

Dans le tableau de bord "Insights sur les requêtes", vous pouvez consulter un récapitulatif des transactions actives et une liste de transactions avec la requête et les statistiques associées. Les transactions sont affichées par heure de début. Si un grand nombre de requêtes sont exécutées, les résultats peuvent être limités à un sous-ensemble du nombre total de requêtes.

Avant de commencer

Créez un rôle personnalisé et ajoutez les autorisations suivantes. Attribuez ensuite le rôle à chaque compte utilisateur devant utiliser Insights sur les requêtes.

Tâches Rôles Autorisations
Afficher le résumé de l'activité de la base de données et les transactions de longue durée databaseinsights.viewer databaseinsights.activeQueries.fetch
databaseinsights.activitySummary.fetch
Afficher le résumé de l'activité de l'instance cloudsql.viewer N/A
Arrêter les sessions cloudsql.editor
databaseinsights.operationsAdmin
N/A

Activer les requêtes actives

Pour activer les requêtes actives, procédez comme suit:

  1. Dans la console Google Cloud , accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  2. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.
  3. Dans la tuile Configuration, cliquez sur Modifier la configuration.
  4. Développez le volet Insights sur les requêtes.
  5. Si la case Activer Insights sur les requêtes est décochée, cochez-la. Les requêtes actives sont disponibles lorsque les insights sur les requêtes sont activés.
  6. Cliquez sur Enregistrer.

Afficher les requêtes actives

Pour afficher vos requêtes actives, procédez comme suit:

  1. Ajoutez ce rôle à chaque utilisateur qui consulte des requêtes actives.

  2. Dans la console Google Cloud , accédez à la page Instances Cloud SQL.

    Accéder à la page Instances Cloud SQL

  3. Pour ouvrir la page Présentation d'une instance, cliquez sur son nom.

  4. Effectuez l'une des opérations suivantes pour afficher le tableau de bord d'Insights sur les requêtes:

    • Sélectionnez l'onglet Insights sur les requêtes.
    • Cliquez sur Consulter la page Insights sur les requêtes pour obtenir des informations plus détaillées sur les requêtes et les performances. Le tableau de bord d'Insights sur les requêtes s'ouvre. Il affiche des détails sur l'instance en haut.
  5. Cliquez sur l'onglet Requêtes actives.

    Vous pouvez alors modifier les informations de requête qui s'affichent dans le tableau Transactions les plus longues:

    • Bases de données : permet de filtrer la charge des requêtes sur une base de données spécifique ou sur toutes les bases de données.
    • Utilisateur : permet de filtrer la charge des requêtes à partir d'un compte utilisateur spécifique.

Afficher les requêtes actives normalisées

Vous pouvez consulter la liste des transactions de longue durée les plus fréquentes avec des requêtes actives normalisées dans le tableau de bord Insights sur les requêtes. Une requête active normalisée supprime les données sensibles et renvoie un condensé. Le condensé est le même pour différentes valeurs utilisées dans l'exemple suivant:

  • Requêtes standards

    • select * from test_table where id=1;
    • select * from test_table_where id=2;
  • Requête condensée ou normalisée

    • select * from test_table where id=?;

Une requête exécutée dans différentes sessions s'affiche sous forme d'entrées différentes dans le tableau de bord.

Afficher les transactions les plus longues

Le tableau Transactions les plus longues du tableau de bord Insights sur les requêtes contient les colonnes suivantes:

Nom de la colonne Description
ID de session Identifiant unique de la session.
Requête Texte de requête SQL.
État de la session État de la session.
Durée de la requête Durée d'exécution de la requête.
Type d'événement d'attente Type d'événement d'attente, si la requête est bloquée pour l'exécution de la requête.
ID de la session bloquante ID de la session qui bloque la session.
Durée d'attente de la transaction Durée de l'attente en cours, si la session est bloquée.
Lignes de la transaction modifiées Nombre de lignes renvoyées au client par cette requête.
% d'exécution Pourcentage de travail effectué, si la requête indique la progression.
Base de données Base de données sur laquelle la session s'exécute.
Nom de l'application Nom de l'application ayant lancé la session.
Utilisateur Nom de l'utilisateur connecté à la base de données.
Adresse du client Adresse IP spécifique du client qui a envoyé la requête.
Action Contient un lien permettant de mettre fin à une session.

L'écran est actualisé automatiquement toutes les 60 secondes.

Arrêter une session

Pour mettre fin à une requête ou à une transaction, vous devez disposer du rôle databaseinsights.operationsAdmin. Pour en savoir plus, consultez la documentation de référence sur les rôles IAM de base et prédéfinis.

Pour mettre fin à une requête ou à une transaction, les insights sur les requêtes pour l'édition Cloud SQL Enterprise Plus doivent également être activés.

L'arrêt des opérations de longue durée peut prendre plus de temps.

Pour mettre fin à une requête ou à une transaction, procédez comme suit :

  1. Dans le tableau Transaction la plus longue, sélectionnez une requête.
  2. Dans la colonne Action, cliquez sur Arrêter la session.
  3. Dans la fenêtre Arrêter la session, cliquez sur Confirmer.

Étape suivante