Enregistrement des compteurs de performance dans un fichier BLG

Une de mes principales activités, outre le conseil en bases de données (architecture, virtualisation, haute disponibilité, montée en charge, …) consiste a réaliser des audits de performance et par la suite effectuer du tuning, autant côté système que base de données.

Afin de gagner du temps, ou lorsque l’on est face à une situation urgente et que mon emploi du temps ne me permet pas d’agit dans l’immédiat, je demande alors à une personne de me créer un fichier BLG que je pourrai ensuite analyser offline une fois téléchargé sur mon site FTP.

Et, relativement fréquemment, les administrateurs / DBAs ne connaissent pas cette possibilité offerte par Perfmon, nativement présent dans Windows.

La fonctionnalité la plus connue de Perfmon est de procurer un rendu visuel temps réel, dans la section Monitoring Tools | Performance Monitor. Mais il est aussi possible d’enregistrer un fichier, format “binaire”, contenant les valeurs des compteurs de performance capturées à intervalles réguliers. Une fois la capture terminée, il est alors possible de l’analyser a postériori et éventuellement sur un PC afin de ne pas travailler directement sur le serveur.

image

Voici donc un petit tutorial qui permet de créer un fichier BLG. Un click droit sur User Defined, dans la section Data Collector Sets et …suivez le guide :

image

On donne un petit nom au data collector set, et sachant que l’on va spécifier nos propres compteurs, on sélectionne l’option Create manually, et dans l’écran suivant Performance Counter (Pour els habitués, on peut également importer un fichier XML contenant els compteurs, typiquement issus du PAL).

imageimage

Ensuite, on va éditer le Data Collector afin de spécifier nos paramètres et ajouter nos métriques

image

Il est possible de modifier l’intervalle de capture en fonction des besoins. Si je souhaite une analyse fine, sur une durée limitée, alors j’opte pour un intervalle d’une seconde. Tout dépend aussi du nombre de compteurs choisis, cela influe sur le volume du fichier BLG. Ensuite on ajoute les compteurs de performance système et SQL nécessaire à l’analyse. Si vous êtes un peu perdu et que vous ne savez pas quels compteurs choisir, reportez vous à ma session lors des JSS 2014.

imageimage

J’apprécie également de modifier le nommage du fichier BLG afin d’ajouter le nom du serveur ainsi qu’une date et heure. Croyez-en mon expérience, lorsque l’on se retrouve avec 10 fichiers qui portent tous le même nom (DataCollector01.blg), difficile de s’y retrouver, bien que le nom du répertoire sur le serveur comporte le HostName et un numéro séquentiel.

image

Ensuite, il est possible de spécifier des conditions de démarrage et d’arrêt de la capture. Par ce que je n’apprécie guerre de me lever la nuit pour activer une collecte, je vous suggère de planifier l’exécution ! Vous pouvez disposer de 0 ou N planifications par CollectorSet.

imageimage

Vous pouvez également spécifier des conditions d’arrêt, en fonction de la durée de capture, de la taille du fichier BLG afin de ne pas saturer le disque, voire même relancer automatiquement une capture, sur un autre fichier, de manière automatique. On peut ainsi avoir un fichier BLG par heure, ou par tranche de 6 heures suivant les besoins.

Les plus organisés peuvent aussi positionner plusieurs Data Collectors dans un même Set afin de séparer les données système des données SQL Server par exemple.

image

Un click droit sur le collector set permet de démarrer la collecte ou bien de la stopper manuellement.

imageimage

Ensuite, laissons la capture s’effectuer. Un petit symbole (flèche verte dans un cercle blanc) permet de savoir si la capture est en cours.

image

Une fois la capture terminée, le fichier BLG est disponible.

image

Un simple double click sur le fichier permet de l’ouvrir et de l’exploiter, avec la possibilité de cacher certains compter, de “zoomer” en sélectionnant un intervalle de temps, changer l’échelle les compteurs, ….

image

Si vous disposez également d’une trace SQL couvrant le même intervalle de temps, le profiler vous permet alors de croiser les informations et ainsi d’identifier des requêtes en fonction des métriques système, et inversement de visualiser la consommation de ressources lors de l’exécution de requêtes spécifiques.

Le troubleshooting commence nécessairement par la collecte de données sur les bons indicateurs, que ce soit les compteurs de performance ou bien les DMVs/DMFs. Maintenant plus aucune excuse pour ne pas savoir créer un fichier BLG.

Enjoy

A propos Christophe

Consultant SQL Server Formateur certifié Microsoft MVP SQL Server MCM SQL Server 2008
Cet article, publié dans SQL Server, Windows, est tagué , . Ajoutez ce permalien à vos favoris.

2 commentaires pour Enregistrement des compteurs de performance dans un fichier BLG

  1. Excellent article ! J’ajouterais pour les fan d’Excel comme moi😉 qu’il est possible de convertir un BLG en CSV avec la commande suivante : relog logfile.blg -f CSV -o newfile.csv Comme ça on peut faire un rapide diagnostique avec le visuel de perfmon et faire un beau rapport d’audit avec Excel …

  2. Ping : SQL Server en IAAS sur Azure – Config “Par Défaut” | Sauget Charles-Henri

Laisser un commentaire

Entrez vos coordonnées ci-dessous ou cliquez sur une icône pour vous connecter:

Logo WordPress.com

Vous commentez à l'aide de votre compte WordPress.com. Déconnexion / Changer )

Image Twitter

Vous commentez à l'aide de votre compte Twitter. Déconnexion / Changer )

Photo Facebook

Vous commentez à l'aide de votre compte Facebook. Déconnexion / Changer )

Photo Google+

Vous commentez à l'aide de votre compte Google+. Déconnexion / Changer )

Connexion à %s