APSQL

Utiliser les compteurs de performances

SQL Server propose des compteurs de performances afin de suivre l'activité de l'instance ou bien d'une base en particulier.

Ces compteurs SQL Server viennent s'ajouter aux compteurs Windows et permettent une analyse précise. Mais le souci viens du coté interactif car il faut observer la courbe des compteurs pour déceler le problème et l'analyse sur le long terme est plus difficile. Bien sûr il est possible pour de définir des alertes sur des conditions de performances, mais la aussi l'alerte ne permet pas l'analyse des compteurs.

Pour permettre une analyse optimum de ces compteurs de performances il est donc nécessaire de se baser sur une analyse en différée des différentes valeurs de ces compteurs. Or lorsqu'il s'agit d'analyser des tableaux de données Microsoft propose un outil simple et efficace : Excel. Mais avant d'arriver à cette analyse il va être nécessaire de consigner les valeurs de compteurs dans des fichiers directement utilisables par Excel. Le format retenu ici sera le format CSV.

Enregistrer les données au format CSV

Qui dit compteurs de performances dit utilisation de perfmon (perfmon.msc plus exactement). C'est en effet cet outil qui permet de suivre de façon interactive les valeurs des différents compteurs de performances. En effet dans une analyse de performance il est toujours nécessaire de suivre plusieurs compteurs car il est rare que la connaissance d'un seul compteur permette d'identifier précisément le problème et surtout la connaissance d'un seul compteur peut masquer les effets de bord éventuel.

D'autre part, le relevé de la valeur de ces différents compteurs doit être planifié afin d'intervenir au moment ou se produit le pic d'utilisation.

Pour résoudre ces 2 points depuis le moniteur de performance, il va être nécessaire de définir son propre collecteur de données. Ce collecteur de données est disponible depuis perform :

Les compteurs de performaces

Après s'être positionné sur le noud Ensembles de collecteurs de données - Définis par l'utilisateur il est possible de créer son propre collecteur en sélectionnant le menu Action - Nouveau - Ensemble de collecteur de données ou bien en passant par le menu contextuel comme illustré ci-dessous.

accéder aux collecteurs de données

Un assistant permet alors de définir son propre collecteur. Dans l'exemple présenté ici, nous ne repartons pas d'un modèle.

Définition du collecteur de données

Pour l'instant seul des données de type compteurs de performances vont être présentes. Mais il est possible d'inclure d'autres éléments comme illustré ci-dessous :

Sélection des compteurs dans le collecteur

Intervient alors la définition des compteurs et l'intervalle d'échantillonnage. Pour cet exemple les compteurs suivis correspondent à des critères généraux du serveur (% d'utilisation du processeur, Mémoire - pages/secondes, Disque Physique - longueur moyenne de la file d'attente), il est bien sûr possible de compléter avec des compteurs spécifiques à SQL Server (Quelques compteurs de performances sont détaillés sur : Compteurs-de-performances.html). Les valeurs vont être relevées toutes les 10 secondes.

Le collecteur de performance est maintenant complètement défini, et il est possible d'intervenir sur sa planification, pour cela il suffit d'afficher les propriétés du collecteur comme illustré ci-dessous:

Accéder aux propriétés du collecteur

Puis depuis l'onglet Planification, il est possible de définir une ou plusieurs planification pour l'exécution de ce collecteur.

Exemple de planification

Même s'il est possible d'avoir un aperçu global des valeurs à l'aide de l'outil d'édition de rapport inclus à perfmon, ce n'est pas l'outil qui permet d'analyser précisément un gros volume de données. Ce qui sera le cas dans le cas ou vous planifier un relevé des valeurs toutes les 10s et si ce relevé dure 1h (soit 360 valeurs par compteurs). Pour ce type d'analyse rien ne remplace un outil comme Excel mais il faut auparavant que les données soient à un format compatible. En affichant les propriétés des compteurs du collecteur:

Propriétés des compteurs du collecteur

Il est possible de demander l'enregistrement au format CSV

Données au format CSV

Analyser les données avec Excel

Maintenant que les informations sont dans un fichier au format CSV, il ne reste plus qu'a analyser les données dans Excel. Pour cela, il faut ouvrir le fichier CSV depuis Excel. Le format CSV est reconnu de façon automatique par Excel et les données se retrouvent directement sous la forme de feuille de données. Si ce n'est pas le cas, il faut passer par le menu Données - Données externes - A partir du texte :

Importer les données csv dans Excel

Pour rendre l'exploitation des données plus simple la première étape va consister à renommer les colonnes pour supprimer le nom de du serveur qui ne fait qu'alourdir le nom des compteurs. Ce qui est fait en utilisant l'option rechercher - remplacer ou (Ctrl F)

renommer les colonnes

Quand à la première colonne qui contient les estampilles de temps elle est renommée temps.

La première ligne de données contient souvent des valeurs non cohérentes (premier relevé des compteurs) aussi est il nécessaire de la supprimer. Enfin, parce que l'on travail en langue française, lé séparateur décimal est la virgule (,) et non le point (.) comme cela est présent dans le fichier. Il faut procéder à un remplacement global du point(.) par la virgule(,). Ainsi fait Excel reconnait les valeurs non plus comme des données de type texte mais bien des données de type numérique.

Il est maintenant possible de définir un graphique Croisé dynamique avec le temps en axe des abscisses puis le compteur souhaité en ordonnée.

Exemple de tableau croisé dynamique