Identifiez la source d’un modèle de lenteur et priorisez les améliorations potentielles des performances.
Avant de commencer
Rôle requis : sn_app_insights.admin ou admin
À compter de la version Zurich, Analyses des applications n'est plus déployé, amélioré ou pris en charge. Il est recommandé d’évaluer le Overview of Instance Observer produit disponible avec les packages ServiceNow Impact. Travaillez avec l’équipe de votre compte pour examiner les forfaits Impact.
Pour en savoir plus, consultez l'article Processus de retrait [KB0867184] dans la base de connaissances Now Support.
Procédure
-
Accédez à la .
-
Recherchez les problèmes de performances potentiels en affichant les tables Événements lents, Transactions lentes, Requêtes lentes et Scripts lents.
- Concentrez-vous sur une période de 1 jour, 7 jours ou 30 jours en sélectionnant une plage de jours.
- Identifiez les modèles avec des temps d’exécution élevés et constants en triant dans la colonne Temps d’exécution moyen dans la plage .
- Découvrez quels schémas sont exécutés le plus souvent en triant dans la colonne Nombre d’exécutions dans la plage .
-
Sélectionnez un modèle lent avec un temps d’exécution élevé et un nombre d’exécutions élevé.
Le graphique détaillé Temps d’exécution moyen affiche le temps d’exécution du modèle lent et sa moyenne mobile sur 1 jour.
-
Affichez les performances du modèle lent dans le temps en analysant le graphique détaillé Temps d’exécution moyen .
- Recherchez des pics dans la plage horaire sélectionnée. Recherchez des corrélations avec des événements système importants qui pourraient indiquer une fausse alerte en superposant des événements de diagnostic.
- Affichez le nombre de fois où le modèle a été exécuté dans la plage horaire sélectionnée.
- Déterminez si les performances se détériorent au fil du temps en examinant la direction de la ligne de tendance de la moyenne mobile sur 1 jour.
-
Découvrez ce qui déclenche le modèle lent en sélectionnant Afficher l’enregistrement.
L’enregistrement du schéma lent apparaît et fournit des détails supplémentaires, notamment le contenu de la requête ou du script, la première fois et la dernière fois qu’il a été exécuté.
-
Pour accéder à d’autres informations utiles pour le dépannage, ajoutez les listes connexes Scripts référencés et Schémas lents associés.
| Option | Description |
|---|
| Scripts lents |
- Sélectionnez le menu contextuel du formulaire (
).
- Modifiez la vue de formulaire en sélectionnant Afficher > Aperçus de script lents.
|
| Requêtes lentes |
- Sélectionnez le menu contextuel du formulaire (
).
- Modifiez la vue du formulaire en sélectionnant Afficher > Aperçus de requêtes lentes.
|
-
Déterminez la cause de la lenteur.
- Lors de l’examen d’une requête lente, déterminez quel script ou quelle règle métier a déclenché la lenteur en recherchant l’entrée avec l’ordre d’appel le plus élevé dans la liste connexe Scripts référencés. Par exemple, supposons qu’une requête lente soit déclenchée par un script dont l’ordre d’appel est 2 et qui est appelé par une règle métier dont l’ordre d’appel est 1. Ce script a directement déclenché la requête lente car elle a l’ordre d’appel le plus élevé.
- Lorsque vous étudiez un script lent, identifiez les schémas lents déclenchés par le script en affichant les schémas dans la liste connexe Schémas lents connexes. Déterminez les schémas lents à étudier en premier en triant les colonnes Temps d’exécution moyen dans la plage et Nombre d’exécutions moyen dans la plage . Examinez d’abord les schémas lents avec les valeurs les plus élevées dans chaque colonne.
- Confirmez un problème potentiel en consultant la liste Schémas lents connexes, qui fournit une liste d’autres schémas lents ayant des scripts référencés en commun. Si plusieurs schémas lents font référence au même include de script ou à la même règle métier, vous pouvez être sûr que c’est là que réside le problème.
- Facultatif :
Pour dépanner plusieurs schémas lents, ouvrez chaque enregistrement, vérifiez le nombre d’entrées dans la liste connexe Schémas lents associés et priorisez le débogage ou la résolution du schéma lent avec le nombre le plus élevé.
Le débogage du modèle lent avec le nombre le plus élevé est plus susceptible d’améliorer les performances.
-
Prenez des mesures pour résoudre le problème de performances.
- Optimisez ou supprimez l’include de script ou la règle métier incriminée.
- Déterminez si vous pouvez éviter d’utiliser la requête lente. Si la requête est requise, essayez de l’optimiser avec des conditions de requête supplémentaires ou une requête sys_id afin qu’elle renvoie uniquement les informations nécessaires.
- Déterminez si un index peut optimiser les performances de la requête lente.
Dépannage d’une requête lente
Après avoir trié la table des requêtes lentes en fonction du champ Nombre d’exécutions dans la plage , vous voyez une instruction SELECT avec un nombre d’exécutions élevé au cours des 7 derniers jours.
Pour savoir ce qui déclenche cette requête lente, sélectionnez le nom de la requête pour ouvrir le graphique détaillé, puis sélectionnez Afficher l’enregistrement.
La liste connexe Scripts référencés affiche trois scripts. Le script DeprecationCalculations a l’ordre d’appel le plus élevé de tous les scripts référencés, ce qui indique qu’il a directement déclenché le modèle lent.
Pour remédier au problème :
- Examinez l’include de script DeprecationCalculations et déterminez si vous pouvez éviter d’utiliser cette requête. Dans cet exemple, la requête est par rapport à la table fx_currency, ce qui implique qu’un calcul de devise est en cours. Essayez de contourner ce calcul ou de le supprimer s’il n’est pas nécessaire.
- Si la requête ne peut pas être évitée dans DeprecationCalculations, déterminez si l’appel aux autres scripts avec des ordres d’appel inférieurs peut être évité ou diminué dans le nombre d’exécutions. Dans cet exemple, DepreciationUtils doit appeler DeprecationCalculations, mais vous pouvez peut-être configurer la tâche planifiée Calculer la dépréciation pour qu’elle soit exécutée moins fréquemment.
- Si les ajustements apportés aux scripts plus bas dans l’ordre des appels ne sont pas viables, envisagez d’ajouter un index pour éventuellement améliorer les performances.