Utiliser un journal des requêtes lent

  • Rversion finale: Yokohama
  • Mis à jour 30 janv. 2025
  • 2 minutes de lecture
  • Les administrateurs peuvent utiliser des journaux de requêtes lents pour avoir un aperçu de la façon dont les requêtes affectent les performances de la plateforme. Le journal des requêtes lentes regroupe les données des requêtes similaires. Utilisez des données de requête lentes pour évaluer le besoin de nouveaux index, de modifications d’index existants ou de modifications de requêtes fréquentes.

    Avant de commencer

    Rôle requis : admin

    Pourquoi et quand exécuter cette tâche

    Les requêtes sont similaires lorsqu’elles sélectionnent à partir de la même table et interrogent le même champ dans la clause where, mais recherchent des valeurs différentes dans le champ. Par exemple, ces requêtes sont regroupées en tant que requêtes similaires.

    SELECT * FROM sys_user WHERE name="ITIL User"
    SELECT * FROM sys_user WHERE name="System Administrator"

    L’agrégation de données de requête similaires permet aux administrateurs de surveiller l’impact sur les performances des requêtes lentes et des requêtes qui se produisent fréquemment. Le journal signale les données pour des requêtes similaires où le temps d’exécution total dépasse 5 secondes.

    Procédure

    1. Accédez à la Tout > Diagnostics du système > Statistiques > Requêtes lentes
    2. Ouvrez un enregistrement de requête pour plus de détails.
      Tableau 1. Champs d’enregistrement de requête
      Champ Description
      Exemple

      Une instruction SQL pour une requête individuelle, avant d’être canonisée pour l’agréger avec des requêtes similaires.

      Hachage Valeur de hachage pour cet enregistrement.
      Exemple de trace de la pile

      Une trace de pile pour une requête individuelle. Les lignes faisant référence au code de script (inclut à la fois le code personnalisé et le code système de base) s’affichent au format suivant :

      table name.sys_id : numéro de ligne

      Par exemple, cette trace de pile indique un appel de fonction à partir de la ligne 119 d’un script include.

      sys_script_include.105f70abc0a8010300d4d79ed1b93eb0:119

      Pour plus d’informations, consultez Traces de pile.

      Exemple d'URL

      L’URL d’une requête individuelle, selon la façon dont la requête a été appelée.

      • Transactions utilisateur : répertorie les paramètres de transaction. Par exemple, si un utilisateur accède à la liste d’incidents, l’URL est /incident_list.do sysparm_query=active=true
      • Travaux planifiés : répertorie le nom du travail planifié.
      • Toute autre méthode : répertorie un champ vide.
      Première observation

      Première occurrence d’une requête similaire.

      Dernière observation Dernière occurrence d’une requête similaire.
      Temps d'exécution total Temps d’exécution total.
      Compte d'exécutions

      Nombre d’occurrences de requêtes similaires qui sont regroupées.

      Temps d'exécution moyen (ms)

      Durée moyenne d’exécution d’une de ces requêtes similaires.

    3. Pour voir ce que la base de données fait pour récupérer les données, cliquez sur Expliquer le plan.
      Le plan de requête est indiqué dans la liste connexe MySQL Explain Plan . Utilisez le plan de requête pour évaluer la nécessité de créer de nouveaux index ou de modifier des index existants. Pour plus d’informations, consultez la documentation du plan d’explication MySQL.

      Cette fonctionnalité fonctionne sur d’autres bases de données prises en charge, notamment MongoDB et Oracle.

    4. Pour générer une suggestion d’index pour une requête lente, cliquez sur Suggestion d’index.