Compteurs de performance pour le réseau

La catégorie .NET CLR Networking de la Console de performance comprend des compteurs qui fournissent des informations sur les données qu'une application envoie et reçoit via le réseau. Le tableau suivant décrit ces compteurs de performance.

Compteur de performance

Description

Octets reçus

Le nombre total cumulatif d'octets reçus par tous les objets Socket dans le AppDomain depuis que le processus a démarré. Ce nombre inclut des données et toutes les informations de protocole non définies par TCP/IP.

Octets envoyés

Le nombre cumulatif d'octets envoyés par tous les objets Socket dans le AppDomain depuis que le processus a démarré. Ce nombre inclut des données et toutes les informations de protocole non définies par TCP/IP.

Connexions établies

Le nombre total cumulatif d'objets Socket pour les sockets flux qui ont été connectés dans le AppDomain depuis que le processus a démarré.

Datagrammes reçus

Le nombre total cumulatif de paquets de datagrammes reçus par tous les objets Socket dans le AppDomain depuis que le processus a démarré.

Datagrammes envoyés

Le nombre total cumulatif de paquets de datagrammes envoyés par tous les objets Socket dans le AppDomain depuis que le processus a démarré.

Durée de vie moyenne des requêtes HttpWebRequest

La durée moyenne d'achèvement pour tous les objets HttpWebRequest qui se sont terminés dans le dernier intervalle dans le AppDomain depuis que le processus a démarré.

Temps d'attente moyen des requêtes HttpWebRequest

Le temps moyen dans la file d'attente pour tous les objets HttpWebRequest qui ont quitté la file d'attente dans le dernier intervalle dans le AppDomain depuis que le processus a démarré.

Nombre de requêtes HttpWebRequests créées/seconde

Nombre d'objets HttpWebRequest créés par seconde dans le AppDomain.

Nombre de requêtes HttpWebRequests mises en file d'attente/seconde

Nombre d'objets HttpWebRequest ajoutés à la file d'attente par seconde dans le AppDomain.

Nombre de requêtes HttpWebRequests abandonnées/seconde

Nombre d'objets HttpWebRequest pour lesquels l'application a appelé la méthode Abort par seconde dans le AppDomain.

Nombre de requêtes HttpWebRequests ayant échoué/seconde

Nombre d'objets HttpWebRequest qui ont reçu un code d'état non réussi du serveur par seconde dans le AppDomain.

Notes

Il y a plusieurs classes de compteurs de performance réseau prises en charge :

  • Compteurs d'événements qui comptabilisent le nombre d'occurrences d'un événement donné.

  • Compteurs de données qui mesurent la quantité de données envoyées ou reçues.

  • Compteurs de durée qui mesurent le temps nécessaire à l'exécution de différents processus. Les durées sont mesurées sur les objets à chaque intervalle (habituellement en secondes) après leur sortie de différents états.

  • Compteurs par intervalle qui mesurent le nombre d'objets faisant une transition particulière par intervalle (normalement par seconde).

Les compteurs de performance réseau pour les événements incluent les éléments suivants :

  • Connexions établies

  • Datagrammes reçus

  • Datagrammes envoyés

Ces compteurs de performance fournissent des nombres depuis que le processus a démarré. Les nombres de connexions Socket établies incluent des appels de méthode Socket explicites par une application pour une connexion de socket flux établie ainsi que des appels internes faits par d'autres classes (HttpWebRequest, FtpWebRequest, WebClient et TcpClient, par exemple) à la classe Socket

Les nombres pour Datagrammes reçus et Datagrammes envoyés incluent des paquets de datagrammes envoyés ou reçus à l'aide des appels de méthode Socket explicites par une application et des appels internes faits par d'autres classes (UdpClient, par exemple) à Socket. . Les nombres Datagrammes reçus et Datagrammes envoyés peuvent également être utilisés pour fournir une mesure très brute du nombre d'octets envoyés ou reçus à l'aide de datagrammes en considérant une taille moyenne pour un datagramme.

Les compteurs de performance réseau pour les données incluent les éléments suivants :

  • Octets reçus

  • Octets envoyés

Les compteurs ci-dessus indiquent le nombre d'octets depuis le début du processus.

Il y a deux compteurs de durée qui mesurent le temps nécessaire aux objets HttpWebRequest pour traverser ou leur cycle de vie entier ou seulement une partie :

  • Durée de vie moyenne des requêtes HttpWebRequest

  • Temps d'attente moyen des requêtes HttpWebRequest

Pour le compteur Durée de vie moyenne des requêtes HttpWebRequest, la durée de vie de la plupart des objets HttpWebRequest s'étend toujours de la création de l'objet à la fermeture du flux de réponse par l'application. Il y a deux cas rares :

  • Si l'application n'appelle jamais la méthode GetResponse ou BeginGetResponse, la durée de vie de l'objet HttpWebRequest est ignorée.

  • Si l'objet HttpWebRequest lève une exception WebException lors de l'appel de la méthode GetResponse ou EndGetResponse, la durée de vie se termine lorsque l'exception est levée. Techniquement, le flux de réponse sous-jacent est également fermé à ce stade (le flux de réponse retourné à l'utilisateur est réellement un flux de mémoire qui contient une copie du flux de réponse).

Il y a quatre compteurs qui suivent certains problèmes d'objet HttpWebRequest par intervalle. Ces compteurs de performance peuvent aider des développeurs d'applications, les administrateurs et le personnel de support technique à comprendre mieux ce que les objets HttpWebRequest font. Les compteurs incluent les éléments suivants :

  • Nombre de requêtes HttpWebRequests créées/seconde

  • Nombre de requêtes HttpWebRequests mises en file d'attente/seconde

  • Nombre de requêtes HttpWebRequests abandonnées/seconde

  • Nombre de requêtes HttpWebRequests ayant échoué/seconde

Pour le compteur Nombre de requêtes HttpWebRequests abandonnées/seconde, les appels internes à Abort sont également comptabilisés. Ces appels internes sont provoqués habituellement par les délais d'attente qu'une application veut mesurer.

Le compteur HttpWebRequests Failed/sec contient le nombre d'objets HttpWebRequest qui ont reçu un code d'état non réussi du serveur par seconde. Cela signifie que le code d'état reçu du serveur HTTP à la fin de la demande n'était pas dans la plage entre 200 à 299. Les codes d'état qui sont gérés et aboutissent à une nouvelle demande (la plupart des codes d'état Non autorisé 401, par exemple) échoueront ou pas en fonction du résultat de la nouvelle tentative. Si l'application enregistre une erreur suite à la nouvelle tentative, ce compteur est incrémenté.

Les compteurs de performance réseau sont accessibles et gérables à l'aide de PerformanceCounter et des classes connexes dans l'espace de noms System.Diagnostics. Les compteurs de performance réseau peuvent également être affichés avec la console de l'analyseur de performances Windows.

Les compteurs de performance réseau doivent être activés dans le fichier de configuration à utiliser. Tous les compteurs de performance réseau sont activés ou désactivés avec un paramètre unique dans le fichier de configuration. Des compteurs de performance réseau individuels ne peuvent pas être activés ou désactivés. Pour plus d'informations, consultez <performanceCounters>, élément (paramètres réseau).

Si les compteurs de performance sont activés, il est possible de créer et de mettre à jour des compteurs de performance par AppDomain et globaux. Si la fonctionnalité est désactivée, l'application ne fournit pas de données de compteur de performance réseau.

Les compteurs de performance sont regroupés en catégories. Une application peut répertorier toutes les catégories avec le code d'exemple suivant :

PerformanceCounterCategory[] Array = PerformanceCounterCategory.GetCategories();
for (int i = 0; i < Array.Length; i++)
{
    Console.Out.WriteLine("{0}. Name={1} Help={2}", i, Array[i].CategoryName, Array[i].CategoryHelp);
}

Les compteurs de performance réseau apparaissent dans deux catégories :

  • « Réseau CLR .NET » - Compteurs de performance d'origine introduits par le .NET Framework version 2 et pris en charge par le .NET Framework version 2 et ultérieures.

  • « Réseau CLR .NET 4.0.0.0 » - Tous les compteurs de socket et nouveaux compteurs de performance ci-dessus pris en charge par le .NET Framework version 4 et ultérieures. Ces nouveaux compteurs fournissent les informations de performance sur les objets HttpWebRequest.

Pour plus d'informations sur l'accès aux compteurs de performance et la gestion de ces derniers dans une application, consultez Compteurs de performance dans le .NET Framework.

Voir aussi

Référence

<performanceCounters>, élément (paramètres réseau)

Génération de profils d'exécution

System.Diagnostics

Autres ressources

Compteurs de performance dans le .NET Framework