Administration de Windows

Prenez le pouls de votre serveur

Steven Choy

 

En un coup d'œil :

  • Personnalisation de l'Analyseur de performances
  • Conseils sur les éléments à mesurer et la fréquence de mesure
  • Présentation des compteurs de performances clés et de ce qu'il faut rechercher

Sommaire

Rendre les résultats plus lisibles
Que mesurer et quand
Goulot d'étranglement du disque dur
Goulot d'étranglement de la mémoire
Goulot d'étranglement du processeur
Goulot d'étranglement du réseau
Goulot d'étranglement de processus
Conclusion

Imaginez que vous venez d'arriver au bureau un lundi matin et que vous êtes accueilli par un utilisateur anxieux qui se plaint de la lenteur de son serveur. Que pouvez-vous faire ? L'analyseur

de performances, un outil pratique intégré à Windows®, peut vous aider à diagnostiquer le problème.

Vous pouvez accéder à l'Analyseur de performances en tapant perfmon dans l'invite de commande ou en sélectionnant Analyseur de performances ou Analyseur de fiabilité et de performances (dans Windows Vista® et Windows Server® 2008) dans le menu Outils d'administration. Pour ajouter des compteurs de performances et des objets à contrôler, il vous suffit de cliquer sur le signe plus et de faire votre choix.

Comment donc prendre le pouls d'un serveur ? Il existe plus que 60 objets de performances de base, et chaque objet contient plusieurs compteurs. Dans cet article, j'aborderai les compteurs qui révèlent les signes vitaux d'un serveur et je décrirai les intervalles d'échantillonnage typiques que les techniciens du support technique de Microsoft® utilisent le plus souvent pour résoudre les problèmes de performances.

Bien sûr, une ligne de base offre un point de référence critique durant le dépannage. Puisque la charge du serveur dépend des besoins métier et varie également de temps à autre en fonction du cycle conjoncturel, il est important d'établir une ligne de base déterminée par la charge de travail normale sur une période de temps spécifiée. Cela vous permet d'observer les changements et d'identifier les tendances.

Rendre les résultats plus lisibles

Avant de plonger dans une analyse des compteurs qui représentent les signes vitaux des serveurs, je vous ferai part de deux astuces qui vous permettront de mesurer plus facilement les signes vitaux des serveurs à l'aide de l'Analyseur de performances. Notez que ces astuces ne sont pas nécessaires dans Windows Vista et Windows Server 2008, mais si vous exécutez l'Analyseur de performances sur des versions antérieures de Windows, elles peuvent vous être d'une grande utilité.

Tout d'abord, vous pouvez supprimer tous les bruits qui obscurcissent l'affichage graphique des lignes de tendance. Dans Windows Vista et Windows Server 2008, l'Analyseur de performances peut afficher jusqu'à 1 000 points de données en vue graphique. Dans les versions précédentes de Windows, la limite est de 100 points de données. Lorsqu'il y a plus de 100 points, l'Analyseur de performances met les points de données dans des « récipients ». Un récipient est représenté par une ligne verticale indiquant le minimum, la moyenne et le maximum des points d'échantillonnage inclus dans le récipient.

Comme l'indique le graphique de la figure 1, il est difficile de distinguer la ligne de tendance lorsque tant de données sont affichées en même temps. Le graphique de la figure 2 montre comme il est plus facile de saisir rapidement les données lorsque toutes les informations visuelles superflues sont désactivées. Pour savoir comment désactiver ces lignes verticales, consultez l'article de la base de connaissances disponible à l'adresse support.microsoft.com/kb/283110.

fig01.gif

Figure 1 Données de performances affichées avec des récipients gênants et sans virgule (Cliquez sur l'image pour l'agrandir)

fig02.gif

Figure 2 Une vue plus propre des données avec virgules de séparation (Cliquez sur l'image pour l'agrandir)

La deuxième astuce consiste à ajouter des virgules de séparation dans les chiffres, ce qui facilite considérablement la lecture des valeurs affichées dans les compteurs. Les virgules de séparation sont activées par défaut dans Windows Vista et Windows Server 2008. Dans les versions précédentes de Windows, cependant, l'Analyseur de performances n'active pas les virgules par défaut.

Ceci peut ne pas sembler très important, mais jetez un coup d'œil sur la figure 1, qui montre les compteurs de performances sans les virgules, puis sur la figure 2, qui montre les compteurs avec les virgules. Je trouve que la deuxième figure est le beaucoup plus lisible. Pour des instructions simples concernant l'ajout de virgules de séparation à vos compteurs de performances dans Windows XP, consultez l'article de la base de connaissances à l'adresse support.microsoft.com/kb/300884.

Que mesurer et quand

Les goulots d'étranglement surviennent lorsqu'une ressource atteint sa capacité maximale, ralentissant ainsi les performances du système tout entier. Les goulots d'étranglement sont généralement causés par des ressources insuffisantes ou mal configurées, des composants qui ne fonctionnent pas correctement et des demandes de ressources inexactes par un programme.

Il existe cinq principaux domaines de ressources qui peuvent causer des goulots d'étranglement et affecter les performances du serveur : le disque physique, la mémoire, le processus, le processeur et le réseau. Si l'une de ces ressources est surutilisée, votre serveur ou votre application peut ralentir considérablement ou même tomber en panne. J'examinerai chacun de ces cinq domaines, vous aiderai à choisir les compteurs que vous devez utiliser et proposerai des seuils pour mesurer le pouls de vos serveurs.

Puisque l'intervalle d'échantillonnage a un impact significatif sur la taille du fichier journal et la charge de serveur, vous devez définir l'intervalle d'échantillonnage en fonction du temps moyen qui s'est écoulé avant que le problème ne survienne afin que de pouvoir établir une ligne de référence avant que le problème ne se reproduise. Ceci vous permettra de détecter les éventuelles tendances menant au problème.

Quinze minutes offriront une bonne fenêtre pour établir une ligne de référence durant les opérations normales. Définissez l'intervalle d'échantillonnage à 15 secondes si le temps moyen qui s'est écoulé avant que le problème ne survienne est d'environ quatre heures. Si cette période est de huit heures ou plus, définissez l'intervalle d'échantillonnage à au moins cinq minutes, autrement, vous finirez avec un énorme fichier journal, ce qui compliquera l'analyse des données.

Goulot d'étranglement du disque dur

Étant donné que le système disque stocke et gère les programmes et données du serveur, un goulot d'étranglement affectant l'utilisation du disque et la vitesse aura un impact important sur les performances globales du serveur.

Notez que si les objets de disque n'ont pas été activés sur votre serveur, vous devrez utiliser l'outil de ligne de commande Diskperf pour les activer. Notez également que % temps disque peut dépasser 100 %, et donc, je préfère utiliser % temps d'inactivité, Moyenne disque s/lecture et Moyenne disque s/écriture pour me donner une image plus précise du degré d'activité du disque dur. Vous trouverez plus d'informations sur le Pourcentage du temps disque dans l'article de la base de connaissances disponible à l'adresse support.microsoft.com/kb/310067.

Voici les compteurs qu'utilisent les techniciens du service technique Microsoft pour la surveillance des disques.

Disque logique\% Espace libre Ce compteur mesure le pourcentage d'espace libre sur le lecteur de disque logique sélectionné. Notez que s'il descend en dessous de 15 %, vous risquez de manquer d'espace libre lorsque le système d'exploitation enregistre des fichiers critiques. Une solution logique consiste à ajouter de l'espace disque.

Disque physique\% temps d'inactivité Ce compteur mesure le pourcentage de temps durant lequel le disque était inactif pendant l'intervalle d'échantillonnage. Si ce compteur descend en dessous de 20 %, cela signifie que le système de disque est saturé. Vous pouvez envisager de remplacer le système de disque actuel par un système de disque plus rapide.

Disque physique\Moyenne disque s/lectureCe compteur mesure, en secondes, le temps moyen nécessaire pour lire les données du disque. Si le chiffre est supérieur à 25 millisecondes (ms), cela signifie que le système de disque a des problèmes de latence lorsqu'il lit du disque. Pour les serveurs stratégiques hébergeant SQL Server® et Exchange Server, le seuil acceptable est beaucoup plus bas, environ 10 ms. La solution la plus logique dans ce cas est de remplacer le système de disque actuel par un système de disque plus rapide.

Disque physique\Longueur moyenne disque s/écriture Ce compteur mesure, en secondes, le temps moyen nécessaire pour écrire les données sur disque. Si le chiffre est supérieur à 25 ms, cela signifie que le système de disque a des problèmes de latence lorsqu'il écrit sur disque. Pour les serveurs stratégiques hébergeant SQL Server et Exchange Server, le seuil acceptable est beaucoup plus bas, environ 10 ms. La solution la plus logique dans ce cas est de remplacer le système de disque par un système de disque plus rapide.

Disque physique\Longueur moyenne de file d'attente du disque Ce compteur indique le nombre d'opérations d'E/S qui attendent que le disque dur soit disponible. Si la valeur est supérieure au nombre de piles plus deux, cela signifie que le disque lui-même peut constituer le goulot d'étranglement.

Mémoire\Octets du cache Ce compteur indique la quantité de mémoire utilisée pour le cache du système de fichiers. Il peut y avoir un goulot d'étranglement de disque si cette valeur est supérieure à 200 Mo.

Goulot d'étranglement de la mémoire

Un manque de mémoire est généralement dû à une insuffisance de mémoire RAM, une fuite de mémoire ou un commutateur de mémoire placé dans le fichier boot.ini. Avant d'aborder les compteurs de mémoire, je voudrais évoquer le commutateur /3GB.

Une augmentation de la mémoire réduit l'activité d'E/S de disque, ce qui entraîne une amélioration des performances des applications. Le commutateur /3GB a été introduit dans Windows NT® pour fournir davantage de mémoire aux programmes en mode utilisateur.

Windows utilise un espace d'adressage virtuel de 4 Go (quelle que soit la quantité de mémoire RAM physique du système). Par défaut, les 2 Go inférieurs sont réservés aux programmes en mode utilisateur et les 2 Go supérieurs aux programmes en mode noyau. Avec le commutateur /3GB, 3 Go sont octroyés aux processus en mode utilisateur. Ceci, bien sûr, se fait au détriment de la mémoire du noyau qui aura seulement 1 Go d'espace d'adressage virtuel. Ceci peut causer des problèmes parce que les Octets de réserve non paginée, Octets de réserve paginée, Entrées libres en table des pages système, et le segment du Bureau sont tous compressés dans cet espace de 1 Go. Vous ne devriez donc utiliser le commutateur /3GB qu'après avoir effectué des tests approfondis dans votre environnement.

Cette solution est à considérer si vous soupçonnez un goulot d'étranglement lié à la mémoire. Si le commutateur /3GB n'est pas la cause des problèmes, vous pouvez utiliser les compteurs suivants pour diagnostiquer un goulot d'étranglement de mémoire potentiel.

Mémoire\% octets validés utilisés Ce compteur mesure le rapport octets validés/limite de mémoire dédiée, en d'autres termes, la quantité de mémoire virtuelle utilisée. Il indique une mémoire insuffisante si le chiffre est supérieur à 80 %. La solution la plus logique dans ce cas est d'ajouter de la mémoire.

Mémoire\% mégaoctets disponibles Ce compteur mesure la quantité de mémoire physique, en mégaoctets, disponible pour l'exécution des processus. Si cette valeur est inférieure à 5 % de la mémoire RAM physique totale, cela signifie qu'il y a une insuffisance de mémoire, ce qui risque d'accroître l'activité de pagination. Pour corriger ce problème, il vous suffit d'ajouter de la mémoire.

Mémoire\Entrées libres en table des pages système Ce compteur indique le nombre d'entrées de la table de pagination qui ne sont pas actuellement utilisées par le système. Si ce nombre est inférieur à 5 000, il est fort possible que vous ayez une fuite de mémoire.

Mémoire\Octets de réserve non paginée Ce compteur mesure la taille, en octets, de la réserve non paginée. Cette zone de mémoire système est destinée aux objets qui ne peuvent pas être écrits sur disque mais qui doivent rester dans la mémoire physique tant qu'ils sont alloués. Si la valeur est supérieure à 175 Mo (ou 100 Mo avec le commutateur /3GB), il est possible que vous ayez une fuite de mémoire. Un ID d’événement 2019 typique est enregistré dans le journal des événements système.

Mémoire\Octets de réserve paginée Ce compteur mesure la taille, en octets, de la réserve paginée. Cette zone de mémoire système est destinée aux objets qui peuvent être écrits sur disque lorsqu'ils ne sont pas utilisés. Si la valeur est supérieure à 250 Mo (ou 170 Mo avec le commutateur /3GB), il est possible que vous ayez une fuite de mémoire. Un ID d’événement 2020 typique est enregistré dans le journal des événements système.

Mémoire\Pages par seconde Ce compteur mesure la vitesse à laquelle les pages sont lues du disque ou écrites sur disque pour corriger les défauts des pages matérielles. Si la valeur est supérieure à 1 000, suite à une pagination excessive, il peut y avoir une fuite de mémoire.

Goulot d'étranglement du processeur

La surcharge d'un processeur peut être due au fait que le processeur lui-même n'offre pas une puissance suffisante ou à une application inefficace. Vous devez vérifier si le processeur consacre beaucoup de temps à la pagination en raison d'une insuffisance de mémoire physique. Lorsqu'ils sont confrontés à un goulot d'étranglement du processeur potentiel, les techniciens du service technique Microsoft utilisent les compteurs suivants.

Processeur\% temps processeur Ce compteur mesure le pourcentage de temps que le processeur passe à exécuter un thread actif. Si le pourcentage est supérieur à 85 %, cela signifie que le processeur est surchargé et que le serveur peut nécessiter un processeur plus rapide.

Processeur\% temps utilisateur Ce compteur mesure le pourcentage de temps que le processeur passe en mode utilisateur. Si cette valeur est élevée, cela signifie que le serveur est occupé par l'application. Une solution possible consiste à optimiser l'application qui utilise trop les ressources du processeur.

Processeur\% temps d'interruption Ce compteur mesure le temps que le processeur passe à recevoir et à traiter des interruptions matérielles durant des intervalles d'échantillonnage spécifiques. Ce compteur indique la possibilité d'un problème de matériel si la valeur est supérieure à 15 %.

Système\Longueur de la file d'attente du processeur Ce compteur indique le nombre de threads existant dans la file d'attente du processeur. Le serveur ne reçoit pas suffisamment de puissance processeur si la valeur est plus de deux fois supérieure au nombre de processeurs pendant un certain temps.

Goulot d'étranglement du réseau

Un goulot d'étranglement du réseau affecte la capacité du serveur à envoyer et recevoir des données sur le réseau. Il peut être dû à un problème lié à la carte réseau du serveur, ou peut-être au fait que le réseau est saturé et a besoin d'être segmenté. Vous pouvez utiliser les compteurs suivants pour diagnostiquer les goulots d'étranglement du réseau potentiels.

Interface réseau\Total des octets/s Ce compteur mesure la vitesse à laquelle les octets sont envoyés et reçus via chaque carte réseau, y compris les caractères de trame. Le réseau est saturé si vous découvrez que plus de 70 % de l'interface sont en utilisation. Pour une carte de 100 Mbits/s, l'interface utilisée est 8,7 Mo/s (100 Mbits/s = 100 000 Kbits/s = 12,5 Mo/s* 70 %). Dans une telle situation, vous devriez ajouter une carte réseau plus rapide ou segmenter le réseau.

Interface réseau\Longueur de la file d'attente de sortie Ce compteur mesure la longueur de la file d'attente de sortie, en paquets. Il y a saturation du réseau si la valeur est supérieure à 2. Vous pouvez résoudre ce problème en ajoutant une carte réseau plus rapide ou en segmentant le réseau.

Goulot d'étranglement de processus

Les performances du serveur seront affectées de manière significative si vous avez un processus qui ne fonctionne pas correctement ou des processus non optimisés. Les fuites de threads et de handles finiront par provoquer la panne d'un serveur, et un usage excessif du processeur ralentira considérablement un serveur. Les compteurs suivants sont indispensables lorsque vous diagnostiquez des goulots d'étranglement liés aux processus.

Processus\Nombre de handles Ce compteur mesure le nombre total de handles qui sont actuellement ouverts par un processus. Ce compteur indique la possibilité d'une fuite de handles si le nombre est supérieur à 10 000.

Processus\Nombre de threads Ce compteur mesure le nombre de threads actuellement actifs dans un processus. Il peut y avoir une fuite de thread si ce nombre est supérieur à 500 entre le nombre minimum et maximum de threads.

Processus\Octets privés Ce compteur indique la quantité de mémoire allouée au processus qui ne peut pas être partagée avec d'autres processus. Si la valeur est supérieure à 250 entre le nombre minimum et maximum de threads, il est possible qu'il y ait une fuite de mémoire.

Conclusion

Vous connaissez maintenant les compteurs utilisés par les techniciens du service technique Microsoft pour diagnostiquer divers goulots d'étranglement. Bien sûr, vous choisirez probablement votre propre série de compteurs préférés, ceux qui répondent à vos besoins spécifiques. Vous pouvez choisir de gagner du temps en n'ajoutant pas tous vos compteurs préférés manuellement à chaque fois que vous avez besoin de contrôler vos serveurs. Fort heureusement, il existe une option dans l'Analyseur de performances qui vous permet d'enregistrer tous vos compteurs dans un modèle, afin de pouvoir les utiliser plus tard.

Vous ne savez toujours pas si vous devez exécuter l'Analyseur de performances localement ou à distance, ni quel sera le gain des performances lorsque vous exécuterez l'Analyseur de performances localement ? Tout cela dépend de votre environnement spécifique. Le gain de performances sur le serveur est presque négligeable si vous définissez des intervalles à au moins cinq minutes.

Vous pouvez choisir d'exécuter l'Analyseur de performances localement si vous savez qu'un problème de performances existe sur le serveur, puisque l'Analyseur de performances risque de ne pas pouvoir capturer les données depuis un ordinateur distant lorsqu'il est à court de ressources sur le serveur. Son exécution à distance depuis un ordinateur central convient mieux lorsque vous voulez contrôler ou établir un point de référence sur plusieurs serveurs.

Steven Choy est ingénieur de terrain principal chez Microsoft. Il a aidé des agences gouvernementales et des clients commerciaux au cours de leurs projets de déploiement et de migration d'ordinateurs de bureau, de gestion des correctifs et de stratégie de groupe. Il s'intéresse actuellement à la virtualisation et à l'état des serveurs.

© 2008 Microsoft Corporation et CMP Media, LLC. Tous droits réservés. La reproduction partielle ou totale sans autorisation est interdite.