Identifiez la source d’un modèle lent et priorisez les améliorations potentielles des performances.
Avant de commencer
Rôle requis : sn_app_insights.admin ou admin
Procédure
-
Accédez à la .
-
Recherchez les problèmes de performances potentiels en consultant 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 constamment élevés en triant la colonne Temps d’exécution moyen dans la plage .
- Découvrez quels modèles sont exécutés le plus souvent en triant 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 les pics dans la plage horaire sélectionnée. Recherchez des corrélations avec des événements système importants susceptibles d’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 visualisant la direction de la ligne de tendance de la moyenne mobile sur 1 jour.
-
Pour savoir ce qui déclenche le modèle lent, sélectionnez Afficher l’enregistrement.
L’enregistrement de modèle lent apparaît et fournit des détails supplémentaires, y compris le contenu de la requête ou du script, la première fois qu’il a été exécuté 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 Modèles lents associés.
| Option | Description |
|---|
| Scripts lents |
- Sélectionnez le menu contextuel du formulaire (
).
- Modifiez la vue du formulaire en sélectionnant Afficher > Aperçu du script lent.
|
| Requêtes lentes |
- Sélectionnez le menu contextuel du formulaire (
).
- Modifiez la vue du formulaire en sélectionnant Afficher > Aperçu des requêtes lentes.
|
-
Déterminez la cause de la lenteur.
- Lors de l’examen d’une requête lente, déterminez quel script ou règle métier a déclenché la lenteur en recherchant l’entrée ayant 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 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 il possède l’ordre d’appel le plus élevé.
- Lors de l’examen d’un script lent, identifiez les modèles lents déclenchés par le script en affichant les modèles dans la liste connexe Modèles lents associés. Déterminez les modèles 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 modèles lents avec les valeurs les plus élevées dans chaque colonne.
- Confirmez un problème potentiel en consultant la liste Schémas lents associés, qui fournit une liste d’autres schémas lents ayant des scripts référencés en commun. Si plusieurs modèles 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 le bât blesse.
- Facultatif :
Pour résoudre les problèmes liés à plusieurs modèles lents, ouvrez chaque enregistrement, vérifiez le nombre d’entrées dans la liste connexe Modèles lents associés et donnez la priorité au débogage ou à la résolution du modèle 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é.
- 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.
Résolution des problèmes liés à une requête lente
Après avoir trié la table Requêtes lentes par le champ Nombre d’exécutions dans la plage , vous voyez une instruction SELECT avec un nombre élevé d’exécutions au cours des 7 derniers jours.
Pour savoir ce qui déclenche cette requête lente, vous devez sélectionner le nom de la requête pour ouvrir le graphique de détail, puis sélectionner Afficher l’enregistrement.
La liste connexe des 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 porte sur la table fx_currency, ce qui implique un calcul de devise. Essayez de contourner ce calcul ou supprimez-le 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 a pu être évité ou diminué en nombre d’exécutions. Dans cet exemple, DepreciationUtils doit appeler DeprecationCalculations, mais vous pouvez peut-être définir la tâche planifiée Calculer la dépréciation pour qu’elle soit exécutée moins fréquemment.
- S’il n’est pas possible d’ajuster les scripts situés plus bas dans l’ordre d’appel, envisagez d’ajouter un index pour éventuellement améliorer les performances.