Generar perfiles en tiempo de ejecución

Actualización: noviembre 2007

La generación de perfiles es un método para recopilar datos de rendimiento en cualquier escenario de desarrollo o de implementación. Esta sección está dirigida principalmente a los programadores y administradores del sistema que desean recopilar información sobre el rendimiento de las aplicaciones.

Hacer un seguimiento del rendimiento mediante el Monitor de sistema (Perfmon.exe)

El Monitor de sistema (o en Windows Vista, el Monitor de confiabilidad y rendimiento) es la herramienta que resulta más fácil de utilizar a la hora de generar perfiles para la aplicación de .NET Framework. El Monitor de rendimiento representa gráficamente los datos de los contadores de rendimiento de .NET que se instalan con Common Language Runtime y con Kit de desarrollo de software de Windows (SDK). Estos contadores pueden utilizarse para supervisar todo, desde la administración de memoria hasta el rendimiento del compilador Just-In-Time (JIT). Proporcionan información sobre los recursos utilizados por la aplicación en cuestión, lo que supone una medida indirecta del rendimiento de la aplicación. Utilice estos contadores para comprender el funcionamiento interno de la aplicación, en lugar de medir directamente el rendimiento de la misma.

Para ejecutar Perfmon.exe

  1. En el símbolo del sistema, escriba perfmon. Aparecerá la consola de rendimiento.

  2. En la barra de herramientas, haga clic en el icono Agregar (signo más), si está presente. Si no lo está, haga clic con el botón secundario del mouse en la ventana del monitor y seleccione la opción Agregar contadores. De este modo, abrirá el cuadro de diálogo Agregar contadores.

  3. Seleccione el contador de rendimiento que desea ver. Hay varios contadores predefinidos para las aplicaciones de .NET, entre los que se incluyen los contadores de administración de memoria (Memoria de .NET CLR), interoperabilidad (Interoperabilidad de .NET CLR), control de excepciones (Excepciones de .NET CLR) y subprocesamiento múltiple (LocksAndThreads de .NET CLR).

Nota

Cuando se instalan contadores de rendimiento nuevos mientras la consola de rendimiento de NT se está ejecutando, detenga y reinicie la consola de rendimiento que los nuevos contadores sean visibles.

Si se desea generar un perfil de un ensamblado que existe en una zona o en un recurso compartido remoto, hay que asegurarse de que el ensamblado remoto tiene plena confianza en el equipo donde se ejecutan los contadores de rendimiento. Si el ensamblado no tiene suficiente confianza, los contadores de rendimiento no funcionarán. Para obtener información sobre cómo conceder confianza a distintas zonas, vea la herramienta Directiva de seguridad de acceso a código (Caspol.exe).

Leer y crear contadores de rendimiento mediante programación

.NET Framework proporciona clases que se pueden utilizar para obtener acceso mediante programación a la misma información de rendimiento que se encuentra disponible en la consola Rendimiento. También puede utilizar dichas clases para crear contadores de rendimiento personalizados. En la tabla siguiente se describen algunas clases de supervisión de rendimiento incluidas en .NET Framework.

Clase

Descripción

System.Diagnostics.PerformanceCounter

Representa un componente de contador de rendimiento de Windows NT. Utilice esta clase para leer contadores personalizados o contadores predefinidos existentes y para publicar (escribir) datos de rendimiento en contadores personalizados.

System.Diagnostics.PerformanceCounterCategory

Proporciona varios métodos para interactuar con los contadores y las categorías de contadores del equipo.

System.Diagnostics.PerformanceCounterInstaller

Especifica un instalador para el componente PerformanceCounter.

System.Diagnostics.PerformanceCounterType

Especifica la fórmula que se utiliza con el fin de calcular el método NextValue para un componente PerformanceCounter.

Vea también

Conceptos

Contadores de rendimiento para ASP.NET

Modelo de directiva de seguridad

Otros recursos

Contadores de rendimiento de .NET Framework