Gérer les latences de la base de données à l’aide du script Troubleshoot-DatabaseSpace.ps1 de l’environnement de ligne de commande Exchange Management Shell

 

S’applique à : Exchange Server 2010 SP2, Exchange Server 2010 SP3

Dernière rubrique modifiée : 2016-11-28

Microsoft System Center Operations Manager 2007 a recours au script Troubleshoot-DatabaseLatency.ps1 pour détecter et corriger les latences élevées sur une base de données. Vous pouvez créer une tâche planifiée à l’aide du Planificateur de tâches pour exécuter ce script. Un certain nombre de problèmes sont à l’origine des latences de base de données :

  • Latences de disque provoquées par un disque en mauvais état   Les latences de lecture ou d’écriture de disques extrêmement élevées et qui persistent pendant de longues périodes peuvent être générées par un disque en mauvais état.

  • Latences de contrôleur de domaine   Un contrôleur de domaine peut présenter des latences élevées lorsqu’il répond aux requêtes de recherche LDAP.

  • Charge de travail utilisateur élevée   Un utilisateur (ou un ensemble d’utilisateurs) gérant de lourdes opérations peut entraîner des latences de base de données.

Le script Troubleshoot-DatabaseLatency.ps1 effectue les actions suivantes :

  1. Il vérifie si les latences de base de données dépassent le seuil de latence (comme indiqué par le paramètre LatencyThreshold). La valeur par défaut est 70 millisecondes (ms).

  2. Il vérifie si le taux de transferts par seconde sur le disque est inférieur au compteur de performance DiskReadRateThreshold et s’il est supérieur au compteur de performance DiskReadLatencyThreshold. Si tel est le cas, le script détermine que le disque doit être remplacé car il est en faible charge et qu’il présente des latences élevées.

  3. Au cours des 10 dernières minutes, il vérifie si un utilisateur donné utilise plusieurs threads pendant une période plus longue que celle spécifiée via le paramètre TimeInServerThreshold . Si tel est le cas, l’utilisateur contribue probablement aux latences élevées et, en conséquence, sa boîte aux lettres est mise en quarantaine. Cette quarantaine dure six heures, durée pendant laquelle l’utilisateur n’a pas accès à son courrier électronique.

Les paramètres par défaut utilisés dans le script Troubleshoot-DatabaseLatency.ps1 sont définis dans le script StoreTSConstants.ps1.

RemarqueRemarque :
Un script doit être exécuté à partir du dossier dans lequel il réside. Par défaut, les scripts installés avec Exchange 2010 le sont dans C:\Program Files\Microsoft\Exchange Server\V14\Scripts. L’environnement de ligne de commande Exchange Management Shell ne charge pas automatiquement les scripts. Pour exécuter un script à partir du fichier local, vous devez faire précéder tous les scripts du signe « .\ ». Par exemple, pour exécuter le script SampleScript.ps1, tapez .\SampleScript.ps1. Pour exécuter un script et spécifier le chemin d’installation par défaut, tapez "C:\Program Files\Microsoft\Exchange Server\V14\Scripts\SampleScript.ps1". Pour plus d’informations, consultez la rubrique Scripts dans Exchange Management Shell.

Utiliser le script Troubleshoot-DatabaseLatency.ps1

Des autorisations doivent vous être attribuées avant de pouvoir exécuter cette procédure. Pour voir les autorisations qui vous sont nécessaires, voir entrée « Bases de données de boîtes aux lettres » dans la rubrique Autorisations de boîtes aux lettres.

La table et le jeu suivants de syntaxe de paramètres répertorient les paramètres que vous pouvez utiliser pour détecter et résoudre les problèmes de latence de base de données.

Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName <DatabaseID> [-LatencyThreshold <1-200>] [-TimeInServerThreshold <1-600000>] [-Quarantine <switch>] [-MonitoringContext <switch>]
Paramètre Obligatoire Description

MailboxDatabaseName

Obligatoire

Le paramètre MailboxDatabase spécifie la base de données de boîtes aux lettres pour laquelle vous surveillez la latence de base de données.

Ce paramètre accepte les valeurs suivantes :

  • GUID

  • Nom unique

  • Nom de la base de données

LatencyThreshold

Facultatif

Le paramètre LatencyThreshold spécifie la durée en ms pendant laquelle la base de données peut être inactive sans être considérée comme présentant des latences.

La valeur par défaut est 70 ms.

MonitoringContext

Facultatif

Le paramètre MonitoringContext spécifie si les résultats de la commande sont écrits dans le journal des événements d’application. Si vous ne spécifiez pas cette valeur, les journaux des événements sont écrits à l’emplacement suivant dans l’Observateur d’événements :

Observateur d’événements > Journaux des applications et des services > Microsoft > Microsoft-Exchange-Troubleshooters/Operational.

Vous n’avez pas besoin de spécifier une valeur avec ce paramètre.

Quarantine

Facultatif

Le paramètre Quarantine spécifie que les gros utilisateurs à l’origine des latences élevées seront mis en quarantaine. Si vous ne spécifiez pas ce paramètre, les utilisateurs ne sont pas mis en quarantaine.

Vous n’avez pas besoin de spécifier une valeur avec ce paramètre.

TimeInServerThreshold

Facultatif

Le paramètre TimeInServerThreshold spécifie la durée (en secondes) de toute activité de l’utilisateur pour laquelle la banque Exchange utilise un thread par minute pour une boîte aux lettres unique avant que cette dernière soit considérée comme dangereuse pour l’intégrité de la base de données. Le nombre de secondes est déterminé par agrégation du temps passé par l’ensemble des threads pour le compte de la boîte aux lettres (pendant la période signalée par la cmdlet Get-StoreUsageStatistics) dans la banque Exchange. Le nombre de secondes de travail par minute se mesure en divisant cette valeur d’agrégation par la période spécifiée via la cmdlet Get-StoreUsageStatistics (10 minutes par défaut).

Par exemple, si vous définissez ce paramètre sur 80 secondes, et qu’un utilisateur donné a recours à plusieurs threads pendant plus de 80 secondes au cours d’un laps de temps de 10 minutes, un événement d’erreur est renvoyé. Si vous configurez le paramètre Quarantine, l’événement d’erreur est renvoyé et la boîte aux lettres de l’utilisateur est mise en quarantaine pendant six heures.

La valeur par défaut est 200 secondes.

Exemple

Cet exemple indique comment exécuter le script Troubleshoot-DatabaseLatency.ps1 avec les paramètres suivants :

  • Le paramètre LatencyThreshold est défini sur 100 ms. Si la base de données présente une latence pour plus de 100 ms, une erreur est renvoyée.

  • Le paramètre TimeInServerThreshold est défini sur 80 secondes. Si un utilisateur donné a recours à plusieurs threads pendant 80 secondes au cours d’une période de 10 minutes, cet utilisateur est mis en quarantaine.

.\Troubleshoot-DatabaseLatency.ps1 -MailboxDatabaseName MBD01 -LatencyThreshold 100 -TimeInServerThreshold 80 -Quarantine
RemarqueRemarque :
Cet exemple montre comment exécuter la commande manuellement une seule fois. Pour produire les données dont l’utilitaire de résolution des problèmes a besoin pour surveiller efficacement votre serveur ou votre base de données, vous devez exécuter cette commande plusieurs fois à intervalles réguliers. Nous vous conseillons d’utiliser le Planificateur de tâches du système d’exploitation Microsoft Windows pour définir cette tâche. Pour plus d’informations, voir Vue d’ensemble du planificateur de tâches.

Afficher le résultat de l’utilitaire de résolution des problèmes de latence de base de données

Dans l’Observateur d’événements, les résultats du script Troubleshoot-DatabaseLatency.ps1 sont disponibles à l’emplacement suivant : Observateur d’événements > Journaux des applications et des services > Microsoft > Microsoft-Exchange-Troubleshooters/Operational.

Par exemple, les résultats suivants proviennent de l’événement ID 5111, dans le cas où le script a été exécuté correctement, sans aucune erreur.

L’utilitaire de résolution des problèmes de latence de base de données a détecté que la latence courante de 1 ms pour la base de données MBD01 ne franchit pas le seuil des 100 ms.

Le tableau suivant affiche l’ID de l’événement, sa description et, si nécessaire, l’action à prendre.

RemarqueRemarque :
Les descriptions de ce tableau sont des exemples d’informations pouvant faire partie de ces événements.
ID d’événement Description Action

5110

L’utilitaire de résolution des problèmes de latence de base de données a démarré sur la base de données MBD01.

Information uniquement. Aucune action n’est requise.

5111

L’utilitaire de résolution des problèmes de latence de base de données a détecté que la latence courante de 30 ms pour la base de données MBD01 ne franchit pas le seuil des 70 ms.

Information uniquement. Aucune action n’est requise.

5411

L’utilitaire de résolution des problèmes de latence de base de données a mis en quarantaine l’utilisateur f3bb8007-b6d1-45f5-b748-211d66fa43f6 sur la base de données MBD01 en raison d’une activité inhabituelle dans la boîte aux lettres. Si le problème persiste, une intervention manuelle est nécessaire.

Événement d’avertissement : Continuer la surveillance.

5412

L’utilitaire de résolution des problèmes de latence de base de données a identifié un problème avec l’utilisateur f3bb8007-b6d1-45f5-b748-211d66fa43f6 sur la base de données MBD01 en raison d’une activité inhabituelle dans la boîte aux lettres. Le paramètre Quarantine n’ayant pas été spécifié, l’utilisateur n’a pas été mis en quarantaine. Si le problème persiste, une intervention manuelle est nécessaire.

Événement d’avertissement : Continuer la surveillance.

5710

L’utilitaire de résolution des problèmes de latence de base de données a détecté que les latences de disque sont anormales pour la base de données MBD01. Le disque doit être remplacé.

Événement d’erreur : Le disque doit être remplacé. Pour obtenir les instructions de remplacement, contactez le fabricant de votre matériel.

5712

L’utilitaire de résolution des problèmes de latence de base de données a détecté que des latences RPC moyennes étaient élevées pour la base de données MBD01, mais il n’a pas pu en déterminer la cause. Une intervention manuelle est requise.

Événement d’erreur : L’origine de la latence n’a pas pu être déterminée. Il est conseillé de créer un fichier de vidage et de l’analyser pour déterminer la cause du problème.

Pour Windows Vista, Windows 7 ou Windows Server 2008, voir Comment créer un fichier de vidage de traitement en mode utilisateur.

Pour Windows Server 2003 ou une version antérieure, voir Comment faire pour utiliser l’outil Userdump.exe pour créer un fichier de vidage.

 © 2010 Microsoft Corporation. Tous droits réservés.