Diagnostiquer les sites lents avec Stack Analyzer et SQL Analyzer
ProblèmeUn site ou des pages semblent se charger lentement.
Causes possibles
Beaucoup de choses peuvent ralentir le fonctionnement d'un site Web. Les fichiers image volumineux peuvent prendre beaucoup de temps à se charger, les journaux peuvent ralentir la base de données SQL, les tâches planifiées peuvent retirer des ressources de votre site Web et les modules peuvent mal se comporter. Pour étudier ces problèmes, reportez-vous à Mon site Web est lent.Further Investigation
Nous avons regroupé deux nouveaux outils dans notre Control Suite. Ces outils, SQL Analyzer et Analyseur de pile , sont par nature des outils de développement. Si vous n'avez pas d'expérience en programmation, ils peuvent vous aider à isoler les problèmes potentiels, mais veuillez consulter un développeur avant d'apporter des modifications à votre site en fonction des conclusions que vous tirez à l'aide de ces outils.Analyseur de pile
- Démarrer Control Suite , choisissez Autres outils> Analyseur de pile> Lancer .
- Utilisez votre navigateur Web pour afficher le site en question.
- Revenir à Stack Analyzer et cliquez sur le pool d'applications du site afin que les traces de ce site soient exécutées.
- Analyseur de pile répertorie tous les threads en cours d'exécution.
Les éléments à rechercher incluent :
- Modèles :le bas de la trace de la pile ne doit pas changer et le haut doit changer fréquemment. Au milieu se trouve une ligne invisible qui indique où le code est "bloqué" et ne fonctionne pas correctement. En cliquant sur ce code, les paramètres et les variables locales peuvent être affichés.
- Méthodes SNI - Les traces marquées avec SQL Native Interface indiquent le code qui accède à la base de données. Ils peuvent indiquer une longue durée d'exécution d'une procédure stockée ou une quantité excessive de données renvoyées par la base de données.
- Le code ASP.net est souvent en bas, au-dessus, vous verrez le code DotNetNuke, puis un autre code .net au-dessus. Si vous doutez que votre code appelle la base de données, vous devrez enquêter sur le code associé à SQL.
Si le problème concerne la base de données SQL, SQL Analyzer est le prochain outil à explorer. Revenez à Control Suite et démarrez SQL Analyzer. Il existe trois modes.
- Mode de suivi de base :
- Démarrer Control Suite , choisissez Autres outils> Analyseur SQL> Lancer .
- Cliquez sur Fichier> Nouvelle trace .
- Se connecter à (Local) serveur utilisant l'authentification Windows .
- Cliquez sur Événements languette. Deux éléments à vérifier au début de votre analyse sont RPC démarré et RPC terminé . Cliquez sur Exécuter .
- Visitez le site Web en question et il répertoriera toutes les procédures stockées qui ont été exécutées. Regardez le volume de commandes exécutées. Si des centaines de commandes remplissent votre écran, cela indique que trop de tâches sont appelées et cela pourrait potentiellement être fait plus efficacement. Recherchez également les commandes coûteuses avec des lectures élevées en lectures, écritures ou cycles CPU.
- Tableau de bord des performances
- Cliquez sur Fichier > Nouveau tableau de bord des performances .
- Se connecter à (Local) serveur utilisant l'authentification Windows .
Cette deuxième fonctionnalité de SQL Analyzer interroge le serveur SQL pour obtenir une représentation visuelle des performances du site Web. Elle indique le nombre de sessions utilisateur utilisant la base de données. Elle indique également les "requêtes coûteuses". Elles sont classés par CPU, lectures logiques, écritures logiques, durée, lectures physiques et temps CLR. Cliquez sur l'une des catégories pour afficher les requêtes avec la valeur la plus élevée dans une représentation graphique à barres. Les requêtes sont répertoriées, le nombre de fois qu'elles ont été exécutées et d'autres informations.
- Tableau de bord des candidatures
- Cliquez sur Fichier > Nouveau tableau de bord des applications .
- Se connecter à (Local) serveur utilisant l'authentification Windows .
Donne une vue détaillée de ce que fait le serveur SQL. Il regroupe et agrège les données, ce qui facilite la digestion. Sélectionnez le serveur, cliquez sur le site Web en question, et il indique le nombre de connexions à la base de données. Un grand nombre de ces listes peut indiquer que le code ne libère pas correctement les connexions à la base de données ou que de nombreux utilisateurs consultent le site et demandent des informations à la base de données.
Développer une connexion affiche les commandes qui ont été exécutées dans cette connexion. Recherchez les grands nombres. Les grands nombres indiquent des problèmes potentiels de mise en cache des données ou un module défectueux.