Guide pratique pour attacher le profileur à une application web ASP.NET et collecter des données de concurrence en utilisant la ligne de commandeHow to: Attach the profiler to an ASP.NET web application to collect concurrency data by using the command line

Cet article explique comment utiliser les outils en ligne de commande des Outils de profilage Visual StudioVisual Studio pour attacher le profileur à une application ASP.NET et collecter des données de concurrence sur les processus et les threads.This article describes how to use Visual StudioVisual Studio Profiling Tools command-line tools to attach the profiler to an ASP.NET application and collect process and thread concurrency data.

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.Command-line tools of the Profiling Tools are located in the \Team Tools\Performance Tools subdirectory of the Visual Studio installation directory. Les versions 64 bits et 32 bits des outils sont disponibles sur les ordinateurs 64 bits.On 64-bit computers, both 64-bit and 32-bit versions of the tools are available. Pour utiliser le profileur dans une fenêtre d’invite de commandes, vous devez ajouter le chemin des outils à la variable d’environnement PATH dans la fenêtre d’invite de commandes, ou l’ajouter à la commande.To use the profiler at a command prompt, you must add the tools path to the PATH environment variable of the Command Prompt window or add it to the command itself. Pour plus d’informations, consultez Spécifier le chemin des outils en ligne de commande.For more information, see Specify the path to command line tools.

Pour collecter des données concurrentielles, attachez le profileur au processus de travail ASP.NET qui héberge votre site web.To collect concurrency data, you attach the profiler to the ASP.NET worker process that hosts your Web site. Lorsque le profileur est attaché à l’application, vous pouvez suspendre et reprendre la collecte de données.While the profiler is attached to the application, you can pause and resume data collection. Pour permettre l’arrêt d’une session de profilage, le profileur ne doit plus être attaché à l’application. Profiler doit être arrêté explicitement.To end a profiling session, the profiler must no longer be attached to the application, and the Profiler must be explicitly shut down. Dans la plupart des cas, vous devez supprimer les variables d’environnement de profilage à la fin d’une session.In most cases, you should clear the profiling environment variables at the end of a session.

Attacher le profileurAttach the profiler

Pour attacher le profileur à une application ASP.NETTo attach the profiler to a ASP.NET application

  1. Démarrez le profileur en tapant la commande suivante :Start the profiler by typing the following command:

    VSPerfCmd /start:concurrency /output: OutputFile [Options]VSPerfCmd /start:concurrency /output: OutputFile [Options]

    • L’option /start initialise le profileur pour collecter des données de conflit de ressources.The /start option initializes the profiler to collect resource contention data.

    • L’option /output:OutputFile est nécessaire avec /start.The /output:OutputFile option is required with /start. OutputFile spécifie le nom et l’emplacement du fichier de données profilage (.vsp).OutputFile specifies the name and location of the profiling data (.vsp) file.

      Vous pouvez utiliser l’une des options du tableau suivant avec l’option /start.You can use any option in the following table with the /start option.

    OptionOption DescriptionDescription
    /user :[Domain\]UserName/user :[Domain\]UserName Spécifie les noms de domaine et d’utilisateur facultatifs du compte qui doit obtenir l’accès au profileur.Specifies the optional domain and user name of the account to be granted access to the profiler.
    /crosssession/crosssession Active le profilage des processus dans d’autres sessions ouvertes.Enables profiling of processes in other logon sessions.
    /wincounter : WinCounterPath/wincounter : WinCounterPath Spécifie le compteur de performances Windows dont les données doivent être collectées au cours du profilage.Specifies a Windows performance counter to be collected during profiling.
    /automark : Interval/automark : Interval À utiliser avec /wincounter uniquement.Use with /wincounter only. Spécifie le nombre de millisecondes écoulées entre les événements de collecte du compteur de performances Windows.Specifies the number of milliseconds between Windows performance counter collection events. La valeur par défaut est de 500 ms.The default value is 500.
    /events : Config/events : Config Spécifie l’événement du Suivi d’événements pour Windows (ETW) qui doit être collecté au cours du profilage.Specifies an Event Tracing for Windows (ETW) event to be collected during profiling. Les événements ETW sont collectés dans un fichier (.etl) distinct.ETW events are collected in a separate (.etl) file.
  2. Démarrez l’application ASP.NET de manière classique.Start the ASP.NET application in the typical way.

  3. Attachez le profileur au processus de travail ASP.NET en tapant la commande suivante : VSPerfCmd /attach:PID [/targetclr:Version]Attach the profiler to the ASP.NET worker process by typing the following command:VSPerfCmd /attach:PID [/targetclr:Version]

    • PID spécifie l’ID ou le nom du processus de travail ASP.NET.PID specifies the ID or name of the ASP.NET worker process. Vous pouvez afficher les ID de processus de tous les processus en cours d’exécution dans le gestionnaire des tâches de Windows.You can view the process IDs of all running processes in Windows Task Manager.

    • /targetclr : Version spécifie la version du common language runtime (CLR) à profiler lorsque plusieurs versions du runtime sont chargées dans une application./targetclr : Version specifies the version of the common language runtime (CLR) to profile when more than one version of the runtime is loaded in an application. Ce paramètre est optionnel.This parameter is optional.

Contrôler la collecte des donnéesControl data collection

Pendant l’exécution de l’application, vous pouvez contrôler la collecte de données en démarrant et en arrêtant l’écriture des données dans le fichier à l’aide des options VSPerfCmd.exe.While the application is running, you can control data collection by starting and stopping the writing of data to the file by using VSPerfCmd.exe options. Le fait de pouvoir contrôler la collecte vous permet de collecter des données pour une phase spécifique de l’exécution du programme, telle que le démarrage ou l’arrêt de l’application.By controlling data collection, you can collect data for a specific part of program execution, such as the starting or shutting down of the application.

Pour démarrer et arrêter la collecte de donnéesTo start and stop data collection

  • Les paires d’options VSPerfCmd du tableau suivant permettent de démarrer et d’arrêter la collecte des données.The pairs of VSPerfCmd options in the following table start and stop data collection. Spécifiez chaque option sur une ligne de commande distincte.Specify each option on a separate command line. Vous pouvez activer et désactiver la collecte de données à plusieurs reprises.You can turn data collection on and off multiple times.

    OptionOption DescriptionDescription
    /globalon /globaloff/globalon /globaloff Démarre (/globalon) ou arrête (/globaloff) la collecte des données pour tous les processus.Starts (/globalon) or stops (/globaloff) data collection for all processes.
    /processon : PID processoff : PID/processon : PID processoff : PID Démarre (/processon) ou arrête (/processoff) la collecte des données pour le processus spécifié par l’ID de processus (PID).Starts (/processon) or stops (/processoff) data collection for the process that the process ID (PID) specifies.
    /attach :{PID|ProcName} /detach[:{PID|ProcName}]/attach :{PID|ProcName} /detach[:{PID|ProcName}] /attach commence à collecter des données pour le processus spécifié par l’ID de processus (PID) ou le nom de processus (ProcName)./attach starts to collect data for the process that the process ID (PID) or process name (ProcName) specifies. /detach arrête la collecte des données pour le processus spécifié ou pour tous les processus, si aucun processus n’est spécifié./detach stops data collection for the specified process or for all processes if no process is specified.

Arrêter la session de profilageEnd the profiling session

Pour mettre fin à une session de profilage, le profileur ne doit pas être en train de collecter des données.To end a profiling session, the profiler must not be collecting data. Vous pouvez arrêter la collecte des données d’une application profilée avec la méthode d’accès concurrentiel en redémarrant le processus de travail ASP.NET ou en appelant l’option VSPerfCmd /detach.You can stop collecting data from a application that is profiled with the concurrency method by restarting the ASP.NET worker process or by invoking the VSPerfCmd /detach option. Vous devez alors appeler l’option VSPerfCmd /shutdown pour désactiver le profileur et fermer le fichier de données de profilage.You then invoke the VSPerfCmd /shutdown option to turn off the profiler and close the profiling data file. La commande VSPerfClrEnv /globaloff efface les variables d’environnement de profilage. Toutefois, la configuration du système n’est pas réinitialisée tant que l’ordinateur n’a pas été redémarré.The VSPerfClrEnv /globaloff command clears the profiling environment variables, but the system configuration is not reset until the computer is restarted.

Pour terminer une session de profilageTo end a profiling session

  1. Détachez le profileur de l’application cible en fermant l’application ou en tapant la commande suivante à l’invite de commandes :Detach the profiler from the target application by closing it or by typing the following at a command prompt:

    VSPerfCmd /detachVSPerfCmd /detach

  2. Fermez le profileur en tapant ce qui suit à l’invite de commandes :Shut down the profiler by typing the following command at a command prompt:

    VSPerfCmd /shutdownVSPerfCmd /shutdown

Voir aussiSee also

Profiler des applications web ASP.NET Profile ASP.NET web applications
Profilage de sites web rapide avec VSPerfASPNETCmdRapid web site profiling with VSPerfASPNETCmd