Comment : instrumenter une application Web ASP.NET compilée dynamiquement et collecter des données de mémoire en utilisant la ligne de commande du profileur
Cette rubrique décrit comment utiliser les outils en ligne de commande des outils de profilage Visual Studio pour collecter des données d'allocation de mémoire .NET détaillées et de durée de vie des objets pour une application Web ASP.NET dynamiquement compilée à l'aide de la méthode de profilage par instrumentation.
[!REMARQUE]
Les outils en ligne de commande des outils de profilage se trouvent dans le sous-répertoire \Team Tools\Performance Tools du répertoire d'installation de Visual Studio sSur les ordinateurs 64 bits, les versions 64 bits et 32 bits de ces outils sont disponibles.Pour utiliser les outils en ligne de commande du profileur, vous devez ajouter le chemin d'accès des outils à la variable d'environnement PATH de la fenêtre d'invite de commandes ou l'ajouter à la commande elle-même.Pour plus d’informations, consultez Spécification du chemin d'accès aux outils en ligne de commande des outils de profilage.
Pour collecter les données de performance d'une application Web ASP.NET, vous modifiez le fichier web.config de l'application cible pour permettre à l'outil VSInstr.exe d'instrumenter les fichiers d'application dynamiquement compilés.Vous utilisez alors l'outil VSPerfCLREnv.cmd pour configurer le serveur qui héberge l'application Web ASP.NET et activez les profilage de la mémoire .NET en définissant les variables d'environnement appropriées, puis redémarrez l'ordinateur.
Pour collecter des données, démarrez le profileur puis exécutez l'application cible.Pendant que le profileur est attaché à l'application, vous pouvez suspendre et reprendre la collecte de données. Lorsque vous avez collecté les données appropriées, fermez l'application, fermez le processus de travail des services IIS (Internet Information Services), puis arrêtez le profileur.
Lorsque vous avez terminé votre travail de profilage, restaurez l'état d'origine du fichier web.config et du serveur Web.
Configuration de l'application Web ASP.NET et du serveur Web
Pour configurer l'application Web ASP.NET et le serveur Web
Modifiez le fichier web.config de l'application cible.Consultez Comment : modifier des fichiers Web.Config pour instrumenter et profiler des applications Web ASP.NET compilées dynamiquement.
Sur l'ordinateur qui héberge l'application Web, ouvrez une fenêtre d'invite de commandes.
Initialisez les variables d'environnement de profilage.Type :
VSPerfClrEnv /globaltracegc
ou
VSPerfClrEnv /globaltracegclife
/globaltracegc active la collecte des données d'allocation de mémoire.
/globaltracegclife active la collecte des données d'allocation de mémoire et des données de durée de vie des objets.
Redémarrez l'ordinateur.
Exécution de la session de profilage
Pour profiler l'application Web ASP.NET
Démarrez le profileur.Type :
VSPerfCmd/start:trace/output**:**OutputFile [Options]
L'option /start:trace initialise le profileur.
L'option **/output:**OutputFile est requise avec /start.OutputFile spécifie le nom et l'emplacement du fichier de données de profilage (.vsp).
Vous pouvez utiliser n'importe laquelle des options suivantes avec l'option /start:trace.
[!REMARQUE]
Les options /user et /crosssession sont généralement requises pour les applications ASP.NET.
Option
Description
/user:[Domain\]UserName
Spécifie le domaine et le nom d'utilisateur facultatifs du compte qui possède le processus de travail ASP.NET.Cette option est requise si le processus s'exécute en tant qu'un utilisateur autre que l'utilisateur connecté.Le nom apparaît dans la colonne Nom d'utilisateur sous l'onglet Processus du Gestionnaire des tâches Windows.
Active le profilage de processus dans d'autres sessions.Cette option est requise si l'application s'exécute dans une session différente.L'identificateur de session est répertorié dans la colonne Identificateur de session sous l'onglet Processus du Gestionnaire des tâches de Windows./CS peut être spécifié en tant qu'abréviation de /crosssession.
Démarre le profileur avec la collecte de données en pause.Utilisez /globalon pour reprendre le profilage.
/counter:Config
Collecte les informations du compteur de performance de processeur spécifié dans Config.Des informations de compteur sont ajoutées aux données collectées à chaque événement de profilage.
/wincounter:WinCounterPath
Spécifie un compteur de performance Windows à collecter au cours du profilage.
/automark:Interval
À n'utiliser qu'avec /wincounter.Spécifie le nombre de millisecondes entre les événements de collecte du compteur de performance Windows.La valeur par défaut est de 500 ms.
/events:Config
Spécifie un événement ETW (Event Tracing for Windows) à collecter au cours du profilage.Les événements ETW sont collectés dans un fichier séparé (.etl).
Démarrez l'application Web ASP.NET de manière classique.
Contrôle de la collecte de données
Lorsque l'application cible s'exécute, vous pouvez contrôler la collecte de données en démarrant et en arrêtant l'écriture de données dans le fichier de données du profileur à l'aide des options VSPerfCmd.exe.Le contrôle de la collecte de données vous permet de collecter des données pour une partie spécifique de l'exécution du programme, notamment le démarrage ou l'arrêt de l'application.
Pour démarrer et arrêter la collecte de données
Les paires suivantes d'options démarrent et arrêtent la collecte de données.Spécifiez chaque option sur une ligne de commande séparée.Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.
Option
Description
Démarre (/globalon) ou arrête (/globaloff) la collecte de données pour tous les processus.
/processon:PID/processoff:PID
Démarre (/processon) ou arrête (/processoff) la collecte de données pour le processus spécifié par l'ID de processus (PID).
/threadon:TID/threadoff:TID
Démarre (/threadon) ou arrête (/threadoff) la collecte de données pour le thread spécifié par l'ID de thread (TID).
Vous pouvez également utiliser l'option VSPerfCmd.exe/mark pour insérer une marque de profilage dans le fichier de données.La commande /mark ajoute un identificateur, un horodatage et une chaîne de texte facultative définie par l'utilisateur.Les marques peuvent servir à filtrer les données dans les rapports et les vues de données du profileur.
Fin de la session de profilage
Pour terminer une session de profilage, fermez l'application Web ASP.NET cible, arrêtez les services IIS (Internet Information Services) pour arrêter le processus profilé, puis arrêtez le profileur.Redémarrez ensuite les services IIS.
Pour terminer une session de profilage
Fermez l'application Web ASP.NET.
Fermez le processus de travail ASP.NET en réinitialisant les services IIS.Type :
IISReset /stop
Arrêtez le profileur.Type :
VSPerfCmd/shutdown
Redémarrez les services IIS.Type :
IISReset /start
Restauration de l'application et configuration de l'ordinateur
Lorsque vous avez terminé tout le profilage, remplacez le fichier web.config, effacez les variables d'environnement de profilage et redémarrez l'ordinateur pour restaurer l'état d'origine du serveur et de l'application ASP.NET.
Pour restaurer l'application et la configuration de l'ordinateur
Remplacez le fichier web.config par une copie du fichier d'origine.
(Facultatif).Désactivez les variables d'environnement de profilage.Type :
VSPerfCmd /globaloff
Redémarrez l'ordinateur.
Voir aussi
Concepts
Profilage d'applications Web ASP.NET à partir de la ligne de commande