Cómo: Adjuntar el generador de perfiles a una aplicación web ASP.NET para recopilar datos de memoria mediante la línea de comandos
En este tema se describe cómo utilizar las herramientas de la línea de comandos de las herramientas de generación de perfiles de Visual Studio para adjuntar el generador de perfiles a una aplicación web ASP.NET y recopilar datos sobre el número y tamaño de asignaciones de memoria de .NET Framework.También puede recopilar datos sobre la duración de los objetos de memoria de .NET Framework.
[!NOTA]
Las herramientas de línea de comandos de las herramientas de generación de perfiles se encuentran en el subdirectorio \Team Tools\Performance Tools del directorio de instalación de Visual Studio.En equipos de 64 bits, están disponibles las dos versiones de las herramientas, la de 64 bits y la de 32 bits.Para utilizar las herramientas de línea de comandos del generador de perfiles, debe agregar la ruta de acceso de las herramientas a la variable de entorno PATH de la ventana Símbolo del sistema o agregarla al propio comando.Para obtener más información, vea Especificar la ruta de acceso a las herramientas de línea de comandos de Herramientas de generación de perfiles.
Para recopilar datos de rendimiento de una aplicación web ASP.NET, debe utilizar la herramienta VSPerfCLREnv.cmd para inicializar las variables de entorno adecuadas en el equipo que hospeda la aplicación web ASP.NET. Debe reiniciar el equipo para configurar el servidor web para la generación de perfiles.
A continuación, utilice la herramienta VSPerfCmd.exe para adjuntar el generador de perfiles al proceso de trabajo ASP.NET que hospeda el sitio web.Cuando el generador de perfiles se adjunta a la aplicación, puede pausar y reanudar la recolección de datos.
Para finalizar una sesión de generación de perfiles, el generador de perfiles no debe estar ya adjunto a la aplicación y debe cerrarse explícitamente.En la mayoría de los casos, recomendamos borrar las variables de entorno de generación de perfiles al final de una sesión.
Adjuntar el generador de perfiles
Para adjuntar el generador de perfiles a una aplicación web ASP.NET
Abra una ventana de símbolo del sistema.
Inicialice las variables de entorno de generación de perfiles.Tipo:
VSPerfClrEnv {/globalsamplegc | /globalsamplegclife} [/samplelineoff]
Opciones /globalsamplegc y /globalsamplegclife especifican el tipo de datos de memoria a recopilar.
Especifique una y solamente una de las siguientes opciones.
Opción
Descripción
/globalsamplegc
Habilita la recopilación de datos de asignación de memoria.
/globalsamplegclife
Habilita la recopilación tanto de datos de asignación de memoria como de datos de duración de objetos.
La opción /samplelineoff deshabilita la asignación de los datos recopilados a líneas de código fuente específicas.Si se especifica esta opción, los datos se asignan al nivel de función.
Reinicie el equipo para establecer la nueva configuración de entorno.
Abra una ventana de símbolo del sistema.Si es necesario, establezca la variable de entorno de ruta de acceso del generador de perfiles.
Inicie el generador de perfiles.Tipo:
VSPerfCmd /start:sample /output**:**OutputFile [Options]
La opción /start:sample inicializa el generador de perfiles.
La opción **/output:**OutputFile es necesaria con /start.OutputFile especifica el nombre y la ubicación del archivo de datos de generación de perfiles (.vsp).
Puede usar cualquiera de las siguientes opciones con la opción /start:sample.
[!NOTA]
Las opciones /user y /crosssession son necesarias normalmente para aplicaciones ASP.NET.
Opción
Descripción
/user:[Domain\]UserName
Especifica el dominio y el nombre de usuario de la cuenta propietaria del proceso de trabajo de ASP.NET.Esta opción es necesaria si el proceso se está ejecutando como otro usuario distinto del usuario que inició la sesión.El propietario del proceso se muestra en la columna Nombre de usuario de la pestaña Procesos del Administrador de tareas de Windows.
Habilita la generación de perfiles de procesos en otros inicios de sesión.Esta opción es necesaria si la aplicación ASP.NET se ejecuta en otra sesión.El identificador de sesión se muestra en la columna Id. de sesión de la pestaña Procesos del Administrador de tareas de Windows./CS se puede especificar como una abreviatura de /crosssession.
/waitstart [:Interval]
Especifica el número de segundos de espera para que el generador de perfiles se inicialice antes de que devuelva un error.Si no se especifica Interval, el generador de perfiles esperará indefinidamente.De manera predeterminada, /start termina inmediatamente.
/wincounter:WinCounterPath
Especifica un contador de rendimiento de Windows que se va a recopilar durante la generación de perfiles.
/automark:Interval
Se utiliza únicamente con /wincounter.Especifica el número de milisegundos entre eventos de recopilación de contadores de rendimiento de Windows.El valor predeterminado es 500 ms.
/events:Config
Especifica un evento de Seguimiento de eventos para Windows (ETW) que se va a recopilar durante la generación de perfiles.Los eventos ETW se recopilan en un archivo (.etl) independiente.
Inicie la aplicación web ASP.NET de la manera habitual.
Adjunte el generador de perfiles al proceso de trabajo ASP.NET.Tipo:
VSPerfCmd /attach:{PID|ProcName} [/targetclr**:**Version]
El identificador (PID) especifica el identificador de proceso o el nombre del proceso de trabajo de ASP.NET.Puede ver los identificadores de todos los procesos que se están ejecutando en el Administrador de tareas de Windows.
**/targetclr:**Version especifica la versión de Common Language Runtime (CLR) para generar perfiles cuando se carga más de una versión del runtime en una aplicación.
Controlar la recolección de datos
Mientras se ejecuta la aplicación, puede controlar la recolección de datos iniciando o deteniendo la escritura de los datos en un archivo de datos del generador de perfiles mediante el uso de las opciones de VSPerfCmd.exe.Al controlar la recolección de datos, puede recopilar datos de una parte específica de la ejecución de un programa, como por ejemplo el inicio o el cierre de una aplicación.
Para iniciar y detener la recolección de datos
Los siguientes pares de opciones de VSPerfCmd inician y detienen la recolección de datos.Especifique cada opción en una línea de comandos diferente.Puede activar y desactivar la recolección de datos varias veces.
Opción
Descripción
Inicia (/globalon) o detiene (/globaloff) la recolección de datos de todos los procesos.
/processon:PID/processoff:PID
Inicia (/processon) o detiene (/processoff) la recolección de datos del proceso especificado por PID.
/attach:{PID|ProcName} /detach[:{PID|:ProcName}]
/attach inicia la recolección de datos para el proceso especificado por el identificador de proceso o por el nombre de proceso./detach detiene la recolección de datos para el proceso especificado o para todos los procesos si no se especifica uno.
También puede usar la opción VSPerfCmd.exe/mark para insertar una marca de generación de perfiles en el archivo de datos.El comando /mark agrega un identificador, una marca de tiempo y una cadena de texto opcional definida por el usuario.Las marcas se pueden utilizar para filtrar los datos que se muestran en las vistas de informes y datos del generador de perfiles.
Finalizar la sesión de generación de perfiles
Para finalizar una sesión de generación de perfiles, el generador de perfiles se debe desasociar de la aplicación web.Puede detener la recolección de datos de una aplicación para la que se ha realizado la generación de perfiles con el método de muestreo reiniciando el proceso de trabajo ASP.NET o llamando a la opción VSPerfCmd /detach.A continuación, llame a la opción VSPerfCmd /shutdown para desactivar el generador de perfiles y cerrar el archivo de datos de generación de perfiles.El comando VSPerfClrEnv /globaloff borra las variables de entorno de generación de perfiles, pero la configuración del sistema no se restablece hasta que se reinicia el equipo.
Para finalizar una sesión de generación de perfiles
Realice uno de los pasos siguientes para desasociar el generador de perfiles de la aplicación de destino:
Escriba VSPerfCmd /detach
O bien
Cierre el proceso de trabajo ASP.NET.Tipo:
IISReset /stop
Apague el generador de perfiles.Tipo:
VSPerfCmd /shutdown
(Opcional) Borre las variables del entorno de generación de perfiles.Tipo:
VSPerfCmd /globaloff
Reinicie el equipo.Si es necesario, reinicie Internet Information Services (IIS).Tipo:
IISReset /start
Vea también
Conceptos
Generar perfiles mediante línea de comandos de aplicaciones web ASP.NET
Otros recursos
Vistas de datos de memoria de .NET de las herramientas de generación de perfiles