Frédéric Laubel's Blog

Exchange Server Tips & Tricks

Exchange 2007 : Ajout et analyse de compteurs de performance (perfmon + pal)

Posted by Frédéric Laubel sur juin 18, 2009


Lors de l’installation d’Exchange 2007 celui-ci rajoute des compteurs dans l’outil de collecte de performance Windows (perfmon.msc).

Ces compteurs sont utiles pour superviser des rôles ou des points précis sur Exchange, notamment la réplication CCR ou SCR (Voir l’article Technet sur l’utilisation de perfmon pour superviser Exchange).

Cependant pour faire du troubleshooting poussé ces compteurs ne sont pas suffisant. Heureusement il est possible d’alimenter perfmon avec de nouveaux compteurs spécifiques à Exchange 2007 via des fichiers .xml.

Ces fichiers .xml sont spécifiques à chaque rôles Exchange 2007 :

Prenons l’exemple d’un serveur mailbox sur lequel je souhaite diagnostiquer un problème de lenteur.

Important : Cette procédure n’est valable que pour une configuration sur Windows 2008 en anglais. (Pour une version française sur W2K8 il est nécessaire d’utiliser un outil supplémentaire, et pour Windows 2003 il faut utiliser d’autres fichiers sources. Ça marche bien dans les deux cas mais les procédures sont sensiblement différentes.)

Premier temps : mise en place des compteurs  avec les fichiers .xml

Tout d’abord je récupère le fichier .xml spécifique à mon serveur, ici il s’agit du rôle mailbox donc du fichier Exchange_2007_Perfwiz-MBX.xml.

Dans Server Manager je me positionne sur Reliability and Performance / Data Collector Sets / User Defined / et je crée une nouvelle collecte :

Perfmon (1)

Je donne un nom à ma collecte et je choisi la création depuis un modèle :

Perfmon (2)

Je sélectionne depuis « Browse » le fichier Exchange_2007_Perfwiz-MBX.xml

Perfmon (3)

Sélection du répertoire cible :

Perfmon (4)

Je termine en décidant de ne pas démarrer la collecte immédiatement.

Perfmon (5)

En retournant sur perfmon, la collecte personnalisée apparait bien.

En allant dans les propriétés de la collecte, je peux voir l’ensemble des compteurs de performance inclus dans la collecte. Personnellement je préfère changer le format du fichier en .CSV (en effet j’ai constaté un bug avec le format .BLG en cas d’analyse avec PAL)

perfmon-configCSV

Évidemment libre à vous de supprimer ou ajouter des compteurs ou de conserver le format .BLG.

La collecte peut démarrer.

Perfmon (6)

La collecte est bien en statut Running.

Perfmon (7)

Laissez tourner la collecte le temps qui vous semble pertinent en fonction de vos problèmes, généralement une journée.

Une fois la collecte terminée il est le temps de passer à l’analyse du fichier.

Deuxième temps : l’analyse avec PAL

Le programme PAL, pour Performance Analysis of Logs,  est un outil graphique gratuit dédié à l’analyse des logs de performances, que ce soit pour Exchange, mais aussi SQL, Active Directory,IIS, etc…Il est développé par des gens de Microsoft (surtout par Mike Lagase).

Le gros intérêt de PAL est sa capacité à analyser les données brutes des compteurs de performance (depuis un fichier .csv ou .blg), pour les comparer aux best practices Microsoft et en faire ressortir les dérives éventuelles (avec des codes couleurs, vert, jaune ou rouge). Bref PAL est votre meilleur ami dès qu’il s’agit de troubleshooter des problèmes de performances en environnement Microsoft…

Première étape il s’agit de récupérer la dernière version de PAL et de l’installer. Aucunes difficultés particulières sur ce point, évidement PAL doit s’installer sur une station de travail et non pas directement sur le serveur à analyser.

Une fois la collecte terminée j’importe le fichier dans PAL (onglet Counter Log).

La seule subtilité de l’outil consiste à ne pas oublier de spécifier dans l’onglet Threshold File le type d’analyse. Ici je précise que le fichier provient d’un serveur Exchange 2007 ayant uniquement le rôle Mailbox :

pal

Ensuite j’exécute l’analyse, attention ça peut prendre pas mal de temps en fonction de la durée de la collecte !

Le résultat est un rapport au format HTML (plusieurs centaines de pages !) me permettant de voir tout de suite les points posant problème en rouge.

Contenu du sommaire :

  • Tool Parameters
  • Chronological Order
    • Alerts by Chronological Order
  • Processor
    • Processor Utilization Analysis (Alerts: 0)
    • Processor Queue Length (Alerts: 0)
    • Excessive Processor Use by Processes (Alerts: 0)
  • Network
    • Network Utilization Analysis (Alerts: 0)
    • Network Output Queue Length Analysis (Alerts: 0)
    • Network Interface Packets Outbound Errors (Alerts: 0)
  • Disk
    • Logical Disk Read Latency Analysis (Alerts: 0)
    • Logical Disk Write Latency Analysis (Alerts: 0)
    • Process IO Data Operations/sec (Alerts: 0)
    • Process IO Other Operations/sec (Alerts: 0)
    • LogicalDisk Disk Transfers/sec (Alerts: 0)
  • Memory
    • Free System Page Table Entries (Alerts: 0)
    • Pool Non Paged Bytes (Alerts: 0)
    • Pool Paged Bytes (Alerts: 0)
    • Available Memory (Alerts: 9)
    • Memory Pages/sec (Alerts: 0)
    • Memory Leak Detection (Alerts: 0)
    • Handle Leak Detection (Alerts: 30)
    • High Virtual Memory Usage (Alerts: 0)
    • Process Working Set (Stats only)
    • Memory System Cache Resident Bytes (Alerts: 0)
    • Memory Pages Input/sec (Alerts: 0)
    • Memory Page Reads/sec (Alerts: 0)
    • Memory Cache Bytes (Stats only)
    • Memory Pages Output/sec (Stats only)
    • Memory Transition Pages RePurposed/sec (Alerts: 0)
  • Paging File
    • Paging File % Usage (Alerts: 0)
  • .NET Related
    • Memory Leak Detection in .NET (Alerts: 10)
    • .NET CLR Memory % Time in GC (Alerts: 0)
  • MSExchange ADAccess Domain Controllers
    • MSExchange ADAccess Domain Controllers LDAP Search Time (Alerts: 0)
    • MSExchange ADAccess Domain Controllers LDAP Read Time (Stats only)
    • MSExchange ADAccess Domain Controllers LDAP Searches timed out per minute (Alerts: 0)
    • MSExchange ADAccess Domain Controllers LDAP Search calls/Sec (Stats only)
  • MSExchange ADAccess Caches
    • MSExchange ADAccess Caches LDAP Searches/Sec (Stats only)
  • MSExchangeIS Client
    • MSExchangeIS Client RPC Operations/sec (Stats only)
    • MSExchangeIS Client RPC Average Latency (Alerts: 0)
    • MSExchangeIS Client JET Log Records/sec (Stats only)
  • MSExchangeIS Mailbox
    • MSExchangeIS Mailbox Slow FindRow Rate (Alerts: 0)
    • MSExchangeIS Mailbox Messages Delivered/sec (Stats only)
    • MSExchangeIS Mailbox Messages Queued For Submission (Alerts: 0)
    • MSExchangeIS Mailbox Messages Sent/sec (Stats only)
    • MSExchangeIS Mailbox Messages Submitted/sec (Stats only)
    • MSExchangeIS Mailbox Categorization Count (Stats only)
    • MSExchangeIS Mailbox Search Task Rate (Alerts: 0)
  • MSExchangeIS
    • MSExchangeIS RPC Averaged Latency (Alerts: 0)
    • MSExchangeIS RPC Operations/sec (Stats only)
    • MSExchangeIS RPC Requests (Alerts: 0)
    • MSExchangeIS Virus Scan Queue Length (Stats only)
    • MSExchangeIS Virus Scan Files Scanned/sec (Stats only)
    • MSExchangeIS Virus Scan Messages Processed/sec (Stats only)
    • MSExchangeIS VM Largest Block Size (Stats only)
    • MSExchangeIS VM Total Free Blocks (Stats only)
    • MSExchangeIS VM Total Large Free Block Bytes (Stats only)
    • MSExchangeIS RPC Num. of Slow Packets (Alerts: 0)
    • MSExchangeIS RPC Client Backoff/sec (Stats only)
    • MSExchangeIS Client: RPCs Failed: Server Too Busy / sec (Stats only)
    • MSExchangeIS Slow QP Threads (Alerts: 0)
    • MSExchangeIS Slow Search Threads (Alerts: 0)
  • MSExchange Store Interface
    • MSExchange Store Interface RPC Latency average (msec) (Stats only)
    • MSExchange Store Interface RPC Requests outstanding (Stats only)
    • MSExchange Store Interface RPC Requests failed (%) (Stats only)
    • MSExchange Store Interface RPC Requests sent/sec (Stats only)
    • MSExchange Store Interface RPC Slow requests (%) (Stats only)
    • MSExchange Store Interface ROP Requests outstanding (Stats only)
  • MSExchangeMailSubmission
    • MSExchangeMailSubmission Hub Servers In Retry (Stats only)
    • MSExchangeMailSubmission Successful Submissions Per Second (Stats only)
    • MSExchangeMailSubmission Failed Submissions Per Second (Stats only)
  • Process
    • Process % Processor Time (Stats only)
  • MSExchange Database
    • MSExchange Database Database Page Fault Stalls/sec (Alerts: 0)
    • MSExchange Database Log Record Stalls/sec (Alerts: 0)
    • MSExchange Database Version buckets allocated (Alerts: 0)
    • MSExchange Database Log Threads Waiting (Alerts: 0)
  • MSExchange Search Indices
    • MSExchange Search Indices Throttling Delay Value (Stats only)
  • MSExchange Assistants
    • MSExchange Assistants Events Polled/sec (Stats only)
    • MSExchange Assistants Events in queue (Stats only)
    • MSExchange Assistants Average Event Processing Time In seconds (Stats only)
  • MSExchange Resource Booking
    • MSExchange Resource Booking Average Resource Booking Processing Time (Stats only)
    • MSExchange Resource Booking Requests Failed (Alerts: 0)
  • MSExchange Replication
    • MSExchange Replication CopyQueueLength (Stats only)
    • MSExchange Replication ReplayQueueLength (Stats only)
  • Disclaimer

Extrait :

Extrait-PAL-5

ExtraitPAL-2

Extrait-PAL-3

Extrait-PAL-4

Avouez que c’est quand même beaucoup plus rapide, pratique, pertinent, sérieux et sexy qu’une analyse à la mano !!!

Et coup de chapeau à Mike Lagase et John Rodriguez (Monsieur Performance sur Exchange)…

9 Réponses to “Exchange 2007 : Ajout et analyse de compteurs de performance (perfmon + pal)”

  1. Amghar said

    Bonjour,

    Je tiens à vous remercier de ce travail mais j’aimerai savoir comment on l’applique si on est sur Windows 2003 server?? je vous remercie d’avance

    • fredlaubel said

      Bonjour,

      Pour Windows 2003 il faut utiliser un fichier .html à télécharger ici : http://expal.members.winisp.net/E2k3_Perfwiz.zip
      Le reste de la procédure reste identique (créer une collecte personnalisée avec comme source le fichier .html)

    • Amghar said

      Bonjour,
      merci pour la réponse mais dans Windows 2003 je n’arrive pas à trouver le server Manager comme décris sur la première etape « Dans Server Manager je me positionne sur Reliability and Performance / Data Collector Sets / User Defined / et je crée une nouvelle collecte : »
      je vous remercie encore une fois d’avance

      CDT

      • Frédéric Laubel said

        Bonjour,

        Bon je crois que je vais devoir me coller à des captures écrans sur une version W2003😉
        C’est simple :
        Sur windows 2003, faites un clic droit sur l’icône poste de travail / gérer / Journaux et alertes de performances / Journaux de compteurs / clic droit / nouveaux paramètres de journalisation issus de… / et choisir le fichier .htm.

        Frédéric

    • Frédéric Laubel said

      Réponse tardive…en effet si l’on dispose d’un Exchange 2007 sous WINDOWS 2003 (j’ai confondu Windows 2003 et Exchange 2003 !!) il n’est pas possible d’utiliser les compteurs spécifiques à Exchange 2007 (fichier .xml). Il est par contre toujours possible d’utiliser le fichier .htm de Exchange 2003 quitte à rajouter les compteurs spécifiques à Exchange 2007.

      Autre point : l’outil, pour l’instant ne fonctionne bien que sur un environnement anglophone.

  2. barousse said

    Merci pour cette presentation

  3. ReD said

    bonjour,

    merci pour ces infos. Existe t il un repository pour avoir d’autres templates pour perfmon (pour un file server, print server …)

    Cordialement.

    • Frédéric Laubel said

      Bonjour,

      Non il n’existe pas de repository. Ce sont des « Exchange guys » qui sont à l’initiative de ces fichiers. J’ignore si d’autres équipes produits ont eu la même démarche (SQL, IIS,etc…). Maintenant dans PAL il y a un champ « Content Owner » qui présente le contact MSFT selon le produit (ici pour Exchange c’est Mike Lagase). Donc si vous souhaitez avoir l’info pour SQL par exemple il suffit de se positionner sur SQL et poser la question par email au contact indiqué.

Sorry, the comment form is closed at this time.

 
%d blogueurs aiment cette page :