Utiliser un journal de requêtes lent

  • Rversion finale: Xanadu
  • Mis à jour 1 août 2024
  • 2 minutes de lecture
  • Les administrateurs peuvent utiliser des journaux de requêtes lents pour mieux comprendre comment les requêtes affectent les performances de la plateforme. Le journal des requêtes lentes regroupe les données pour des requêtes similaires. Utilisez les données de requête lentes pour évaluer les besoins en nouveaux index, les modifications apportées aux index existants ou les modifications apportées aux requêtes fréquentes.

    Avant de commencer

    Rôle requis : administrateur

    Pourquoi et quand exécuter cette tâche

    Les requêtes sont similaires lorsqu’elles sont sélectionnées dans la même table et interrogent le même champ dans la clause where, mais qu’elles 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 des 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 en savoir plus.
      Tableau 1. Champs d’enregistrement de requête
      Champ Description
      Exemple

      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 (y compris le code personnalisé et le code système de base) apparaissent 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 include de script.

      sys_script_include.105f70abc0a8010300d4d79ed1b93eb0:119

      Pour plus d’informations, consultez Traces de pile.

      Exemple d'URL

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

      • Transactions de l’utilisateur : répertorie les paramètres de la transaction. Par exemple, si un utilisateur accède à la liste des incidents, l’URL est /incident_list.do sysparm_query=active=true
      • Travaux planifiés : répertorie le nom de la tâche planifiée.
      • 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 de l’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 signalé dans la liste connexe Plan d’explication MySQL . Utilisez le plan de requête pour évaluer le besoin de nouveaux index ou de changements aux 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.