Share via


Introduction à l'analyse des seuils de performance

Mise à jour : novembre 2007

Le mécanisme par lequel Windows collecte les données de performance relatives aux différentes ressources système est appelé compteur de performance. Windows contient un ensemble prédéfini de compteurs de performance avec lesquels vous pouvez interagir ; certains se trouvent sur tous les ordinateurs exécutant Windows 2000, tandis que d'autres sont propres à des applications particulières et ne se trouvent donc que sur certains ordinateurs. Chaque compteur se rapporte à une partie bien spécifique des fonctionnalités système. Il existe, par exemple, des compteurs qui surveillent la plage de temps occupée du processeur, l'utilisation de la mémoire ou encore le nombre d'octets reçus par une connexion réseau. Vous utilisez une instance du composant PerformanceCounter pour vous connecter directement aux compteurs de performance existants et interagir avec leurs données de façon dynamique.

Un compteur de performance surveille le comportement des objets de performance d'un ordinateur. Ils incluent des composants physiques, tels que processeurs, disques et mémoire ainsi que des objets système tels que processus et threads. Dans Visual Studio et le Kit de développement logiciel (SDK) Windows, ces objets de performance se présentent comme des catégories ; les compteurs système liés au même objet de performance sont regroupés en catégories indiquant leurs points communs. Lorsque vous créez une instance du composant PerformanceCounter, vous indiquez d'abord la catégorie avec laquelle ce composant va interagir, puis vous choisissez dans cette catégorie un compteur avec lequel il doit y avoir interaction.

Par exemple, il existe dans Windows la catégorie de compteurs Mémoire. Les compteurs système appartenant à cette catégorie suivent des données telles que les octets disponibles et les octets du cache. Pour suivre les octets du cache de votre application, créez une instance du composant PerformanceCounter et connectez-la à la catégorie Mémoire, puis sélectionnez le compteur approprié dans cette catégorie (dans ce cas, Octets en cache).

Les catégories sont parfois sous-divisées en instances. Les instances suivent les données relatives aux occurrences multiples de l'objet auquel se rapporte une catégorie. Il est important de noter que les instances s'appliquent à une catégorie dans son ensemble et non à des compteurs considérés séparément. Tous les compteurs d'une catégorie possèdent chaque instance définie pour cette catégorie. Par exemple, la catégorie Processus contient des instances appelées "Idle" et "System". Dans chaque compteur de la catégorie Processus, les données sont présentées de ces deux manières ; les informations portent soit sur les processus inactifs soit sur les processus système. La structure de la catégorie et des compteurs est la suivante :

Catégories, instances et compteurs

Instances de catégories Visual Basic

Comme vous pouvez le voir, la catégorie Processus contient deux instances ; par conséquent, les deux compteurs de cette catégorie contiennent également des instances de Idle et System. Pour plus d'informations sur les instances, consultez Comment : ajouter et supprimer des instances de compteur de performance.

Bien que votre système mette à disposition un nombre beaucoup plus grand de catégories de compteurs, les catégories par défaut que vous utiliserez le plus souvent sont : Cache, Mémoire, Objets, PhysicalDisk, Processeur, Serveur, Système et Thread.

Données des compteurs de performance

Les compteurs de performance enregistrent des valeurs concernant diverses parties du système. Ces valeurs ne sont pas enregistrées en tant qu'entrées, mais sont persistantes tant qu'un handle reste ouvert en mémoire pour la catégorie concernée. Le processus consistant à récupérer les données d'un compteur de performance est appelé échantillonnage. Lorsque vous échantillonnez, vous récupérez soit la valeur immédiate d'un compteur soit une valeur calculée.

Selon la manière dont un compteur est défini, sa valeur peut refléter l'aspect le plus récent de l'utilisation de la ressource, également appelé valeur instantanée, ou exprimer une moyenne des deux dernières mesures effectuées dans l'intervalle séparant deux échantillonnages. Par exemple, lorsque vous récupérez une valeur du compteur Nombre de threads de la catégorie Processus, vous récupérez le nombre de threads qui a été estimé pour un processus lors de la dernière mesure. Il s'agit d'une valeur instantanée. En revanche, avec le compteur Pages/Sec de la catégorie Mémoire, vous récupérez un débit par seconde correspondant au nombre moyen de pages de mémoire récupéré lors de chacun des deux derniers échantillonnages.

L'utilisation des ressources peut varier considérablement en fonction de la charge imposée au système aux différentes heures de la journée. C'est pourquoi les compteurs de performance indiquant des taux d'utilisation durant un intervalle donné constituent un système de mesure plus informatif que des moyennes de valeurs instantanées de compteurs. En effet, entrent parfois dans les moyennes des données relatives au démarrage d'un service ou à d'autres événements qui sont susceptibles de provoquer, sur une courte période, un dépassement des chiffres bien au-delà de la plage autorisée et donc de fausser les résultats.

Le composant PerformanceCounter prend en charge les besoins en matière d'analyse des performances Windows les plus courants, à savoir la connexion à un compteur existant sur le serveur, puis la lecture et l'écriture de valeurs dans ce compteur. Des fonctionnalités supplémentaires, telles que la modélisation de données complexes, sont disponibles directement dans l'Analyseur de performances Windows. Par exemple, vous pouvez utiliser l'Analyseur de performances pour représenter graphiquement les données contenues dans un compteur, exécuter des rapports sur les données, définir des alertes et enregistrer les données dans un journal.

Utilisation des compteurs de performance dans les applications .NET

En vous servant du composant PerformanceCounter, vous pouvez vous connecter aux compteurs existants installés sur les serveurs auxquels vous avez accès ou créer vos propres compteurs de performance personnalisés. Vous pouvez lire les données de n'importe quel compteur et écrire dans vos propres compteurs personnalisés.

Pour vous connecter à un compteur de performance existant, spécifiez l'ordinateur sur lequel il réside, sa catégorie et son nom. En outre, vous avez la possibilité de spécifier l'instance du compteur à utiliser si le compteur en contient plusieurs. Quand vous avez fourni les informations requises, vous pouvez lire toutes les données du compteur. Vous pouvez également énumérer les catégories, compteurs et instances existant sur l'ordinateur en utilisant du code ou vous servir de l'Explorateur de serveurs pour afficher une liste des compteurs existant sur l'ordinateur.

Lorsque vous créez un compteur, vous devez spécifier une toute nouvelle catégorie pour votre ordinateur local. Vous ne pouvez pas ajouter un nouveau compteur à une catégorie existante ni créer de nouveaux compteurs sur un ordinateur distant. Toutefois, vous pouvez écrire et lire des données dans tous les compteurs personnalisés que vous créez.

Vous pouvez développer le nœud Compteurs de performance dans l'Explorateur de serveurs pour afficher une liste des compteurs existant sur ce serveur (classés par catégorie) et les instances servant à leur classification. Vous pouvez également faire glisser un compteur de performance spécifique ou une instance de l'Explorateur de serveurs vers votre Concepteur de composants dans Visual Studio pour créer une instance du composant PerformanceCounter dont les propriétés sont automatiquement définies de façon à pointer sur le compteur sélectionné.

Si vous utilisez un composant PerformanceCounter dans une application ASP.NET, les paramètres par défaut du compte utilisateur ASPNET restreignent l'accès aux compteurs de performance. Par défaut, le compte utilisateur ASPNET peut écrire dans des compteurs de performance, mais il ne peut pas les lire ni ajouter des catégories. Vous pouvez utiliser l'emprunt d'identité avec le compte ASPNET pour autoriser la création de catégories. L'identité empruntée doit disposer de privilèges suffisants pour créer des catégories. Si votre application requiert des compteurs de performance pouvant être spécifiés avant le déploiement, ceux-ci peuvent être créés par le projet de déploiement. Pour plus d'informations, consultez Sécurité des applications Web ASP.NET.

Remarque :

Vous pouvez créer une nouvelle catégorie de compteurs dans l'Explorateur de serveurs en cliquant avec le bouton droit sur le nœud Compteurs de performance et en choisissant la commande de menu appropriée. Vous pouvez également modifier une catégorie existante en cliquant avec le bouton droit sur le nœud qui lui est propre.

Pour plus d'informations, consultez Explorateur de serveurs/Explorateur de bases de données.

Restrictions

Dans cette version, il vous faudra peut-être redémarrer l'Analyseur de performances (Perfmon.exe) installé avec Windows 2000, lorsque vous créerez des compteurs de performance personnalisés, avant de les voir apparaître dans l'application.

La classe PerformanceCounter n'est pas entièrement prise en charge dans Microsoft Windows NT version 4.0. Vous pouvez lire des données à partir des compteurs système, mais vous ne pouvez pas créer ou supprimer des compteurs personnalisés, ni y écrire.

Voir aussi

Concepts

Analyse des données des compteurs de performance

Architecture de programmation des compteurs de performance

Durée de vie des compteurs de performance

Types de compteurs de performance