Sqlserver
 sql >> Base de données >  >> RDS >> Sqlserver

Comprendre Workload Analyzer pour cartographier les goulots d'étranglement des performances

Lorsqu'un utilisateur ou une application adresse des requêtes à une base de données, il consomme des ressources sur ce système. À mesure que le nombre de demandes augmente, vous pouvez rencontrer des attentes de ressources. Ces attentes entraînent des goulots d'étranglement des performances et, dans le cas des bases de données déployées dans le cloud, des coûts mensuels supplémentaires ! Lors du diagnostic des goulots d'étranglement des performances, la première étape consiste à comprendre quelles ressources sont affectées.

Être capable de mapper un goulot d'étranglement de performance à une attente de ressource spécifique, puis à un code spécifique, et enfin à la charge de travail d'un utilisateur spécifique vous permettra d'accéder à la cause première et de résoudre le goulot d'étranglement de manière permanente.

Par exemple, vous pouvez découvrir qu'une application s'exécute lentement parce que le processeur est surconsommé sur le serveur de base de données car Matt du service des achats exécute un rapport d'inventaire dans la base de données de l'usine.

Workload Analyzer de Spotlight Cloud est l'outil qui rend cela possible grâce à sa navigation conviviale.

Comment utiliser l'analyseur de charge de travail de Spotlight Cloud

Pour commencer, vous pouvez sélectionner la période qui vous intéresse. Spotlight Cloud stocke une année de données, vous pouvez donc revenir à n'importe quel moment ou intervalle de temps au cours de l'année écoulée.

Ensuite, vous avez la possibilité de filtrer par ressource. Par exemple, si vous savez que le problème est lié au processeur, vous pouvez sélectionner la ressource CPU. Cela filtre les informations relatives à toutes les autres ressources, telles que les E/S, les verrous et la mémoire, ce qui élimine efficacement le bruit blanc et facilite l'accès à la cause première.

Page par défaut de l'analyseur de charge de travail

Explorez la dimension des bases de données et elle ordonnera les principales bases de données consommant le plus de ressources de haut en bas et les ombrera en conséquence. Ce mécanisme de tri est conservé à chaque itération d'un drilldown.

Explorer la dimension de la base de données

De plus, vous devez explorer la base de données des ventes, car il est important de savoir quel est le comportement des attentes dans la base de données la plus consommatrice en particulier. Dans cet exemple, il semble que la majeure partie de la charge de travail était représentée par les ressources CPU (45,7 %) et les ressources d'E/S (30,2 %), et leurs taux sont proches de 0,48 s/s et 0,43 s/s.

Explorer la dimension de la base de données des ventes

En parallèle, la sélection de CPU filtrera les autres ressources et produira une lecture personnalisée, uniquement CPU. La possibilité d'isoler une charge de travail spécifique est utile car elle filtre visuellement les métriques gênantes, vous permettant de vous concentrer uniquement sur ce qui prime. De plus, les indicateurs de performance peuvent être représentés graphiquement les uns sur les autres afin que vous puissiez voir visuellement les corrélations.

Indicateurs de performances clés filtrés pour les statistiques du processeur uniquement

Ensuite, explorez les lots T-SQL. Cela nous permet de savoir quels lots de la base de données des ventes sont les plus éprouvants.

Explorer les lots T-SQL

Étant donné que ce lot est très gourmand en CPU, il est important de savoir quelles requêtes au sein de ce lot sont à l'origine du coût supplémentaire. L'utilisation du texte T-SQL conjointement avec le plan d'exécution montre que l'opérateur de tri est à blâmer. SQL Optimizer prévoit que la charge estimée est de 97 %. L'ajout d'un index peut aider à optimiser les performances.

Instructions T-SQL

Plan d'exécution et analyse des coûts des opérations réalisées

Notez que le sélecteur de ressources peut être configuré pour mettre en surbrillance une ressource une fois que son utilisation dépasse un seuil prédéfini. Par exemple, vous pouvez définir le sélecteur pour mettre en surbrillance les ressources d'E/S si l'attente est supérieure à 30 %.

Ajustement des configurations du sélecteur de ressources pour les ressources d'E/S

Configurations mises à jour pour le sélecteur de ressources d'E/S appliquées