[UPDATE] Analyser et surveiller les performances d’un serveur

Ce billet va détailler de façon précise quels compteurs de l’analyseur de performances doivent être monitorés afin de diagnostiquer un serveur d’un point de vue stockage, processeur, mémoire, etc… pour déceler un problème ou un éventuel goulot d’étranglement, par exemple.

Analyser les performances du stockage

  • % d’inactivité => désigne la charge de travail => une valeur en-dessous de 20 % indique une surcharge probable.
  • E/S partagées/s => désigne le taux de requête disque physique découpée en plusieurs requêtes pendant une intervalle. Il convient d’appliquer la formule suivante:
    • ( E/S partagées/s) / Transfert disques/s) * 100 => une valeur au-delà de 20 % indique une fragmentation  importante
  • Lecture disque/s et Ecriture disque/s => désigne le nombre IOPS
  • Longueur moyenne de file d’attente du disque => désigne le nombre de requête I/O => la valeur doit être inférieure à 2 sinon il existe un goulot d’étranglement => rajouter des disques à la pile RAID (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)
  • Moyenne disque s/écriture et Moyenne disque s/lecture et Moyenne disque s/transfert => Ce compteur mesure, en secondes, le temps moyen nécessaire pour lire les données du disque (temps d’accès) => la valeur doit être comprise entre 0 et 25 ms, maximum 10ms pour un serveur SQL. 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.
  • Octet disque/s => désigne le débit
  • 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
  • Pourcentage du temps de lecture/écriture du disque => désigne le Pattern I/O
  • Transfert disque/s => désigne la charge IOPS

Analyser les performances 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.
  • % temps processeur => désigne la charge du processeur => une valeur au-delà de 80 % nécessite une surveillance accrue => un CPU peut être sollicité (dans la cadre d’une virtualisation par exemple) à hauteur de 75 à 90 % mais en surveillant bien entendu l’évolution
  • Longueur de la file du processeur => désigne la file d’attente des threads du processeur => une valeur entre 5 et 10 indique une charge importante et au-delà une surcharge/saturation des performances processeur
  • Pages/s => désigne la mémoire paginée transférée de la mémoire vive vers le système disque. Il convient d’appliquer la formule suivante:
    • Pages/s / Transfert disque/s => une valeur au-delà de 50% nécessite l’ajout de mémoire dans le système car le système consomme de la « puissance » disque uniquement pour la pagination (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)
  • Mégaoctets disponibles => désigne la mémoire vive disponible immédiatement (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)
  • 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
  • Octets validés => désigne le volume mémoire alloué réservé. Il convient d’appliquer la formule suivante:
    • Octets validés / Mémoire installée => un ratio supérieur à 1.5 nécessitera un ajout de mémoire vive et une valeur de 1 indique qu’il convient de surveiller le système car le montant de la mémoire virtuelle « équivaut » à la mémoire vive installée (Ce compteur mesure le rapport octets validés/limite de mémoire dédiée soit la quantité de mémoire virtuelle utilisée. Il indique une mémoire insuffisante si le chiffre est supérieur à 80 %)

Analyser les performances du processeur

  • % temps processeur => 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
  • % temps utilisateur => 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
  • % temps d’interruption => 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 %
  • Longueur de la file d’attente du processeur => 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

Analyser les performances du réseau

  • Total des octets/s => 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
  • Longueur de la file d’attente de sortie => 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

Analyser les performances processus

  • Nombre de handles => 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
  • Nombre de threads => 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
  • Octets privés => 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

Je me suis basé, en plus de mon expérience ;-) , sur cet article pour rédiger ce billet.

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.

 


Vous aimerez aussi certainement....
Mesurer un débit point à point simplement
L'utilitaire Netperf inclut deux outils (client et serveur) permettant de mesurer un débit réseau. L'utilitaire inclut netserver et netclient. Netserver est un processus serveur (en écoute sur le port 12865 par défaut) ...
Voir plus !
Marre des compteurs de performances ?
Les compteurs de performances sont très efficaces pour mener à bien des analyses de performances ou de troubleshooting. A condition de connaitre les différents compteurs et ce qu'ils permettent de ...
Voir plus !
Réplication de données, les bonnes pratiques
Les entreprises doivent faire face à des applications qui doivent être disponibles 24/7, qu'elles soient hébergées dans un datacenter, accédées via des clients nomades ou depuis des sites distants, .... ...
Voir plus !
Bonnes pratiques et surveillance de la performance d’un serveur SQL
Les serveurs SQL doivent faire l'objet de toute les attentions de l'installation jusqu'au paramétrage en passant par la mise en production. Je vais aborder les bonnes pratiques pour obtenir un ...
Voir plus !
Un BPA pour Outlook ?!
L'outil de configuration Microsoft Outlook Configuration Analyzer Tool (OCAT) fournit un rapport détaillé de votre profil Outlook actuel. Ce rapport comprend de nombreux paramètres sur votre profil, et il met ...
Voir plus !
Le diagnostic d'Active Directory requiert certains outils de diagnostics comme DCDIAG, par exemple. Je vous propose ici un script lance pour vous les principales commandes pour diagnostiquer votre AD. Voici le ...
Voir plus !
L’intérêt MTU/Jumbo Frames en virtualisation
Pour rappel, les trames Jumbo ou encore Jumbo Frames, sont des trames Ethernet dont la longueur est d'environ 9000 par rapport à 1500, la valeur par défaut. En augmentant la ...
Voir plus !
Aide au Capacity Planning
J'ai crée deux fichiers Excel pour vous aider dans votre Capacity Planning, l'un concerne la consommation électrique, l'autre estime le type de processeur à choisir en fonction de l'existant. La première ...
Voir plus !
Lorsque vous désirez lancer un diagnostic sur un cluster de calcul Windows HPC Server (2008/R2), le compte du domaine est refusé. Cela est un bug connu, et provient du fait ...
Voir plus !
Après avoir lancé une analyse d'une semaine chez un client à l'aide de Microsoft MAP (Assessment and Planning Toolkit), j'ai demandé au client d'exporter la base (et les résultats) directement ...
Voir plus !
Mesurer un débit point à point simplement
Marre des compteurs de performances ?
Réplication de données, les bonnes pratiques
Bonnes pratiques et surveillance de la performance d’un
Un BPA pour Outlook ?!
Diagnostiquer Active Directory rapidement
L’intérêt MTU/Jumbo Frames en virtualisation
Aide au Capacity Planning
Windows HPC Server – impossible de lancer les
Un backup Microsoft MAP impossible à restaurer

Continuer la discussion sur le forum...

Laisser un commentaire