Generar perfiles en tiempo de ejecución

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 y Windows 7, 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 Framework 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 entender cómo funciona internamente su aplicación.

Para ejecutar Perfmon.exe en Windows XP

  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.

    Esto abre el cuadro de diálogo Agregar contadores, que muestra los objetos y contadores de rendimiento disponibles. Hay varios objetos predefinidos para las aplicaciones de .NET Framework, 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 multithreading (LocksAndThreads de .NET CLR). Cada objeto de rendimiento de .NET Framework incluye varios contadores de rendimiento individuales.

  3. En la lista Objeto de rendimiento, haga clic en el objeto de rendimiento que desee ver.

  4. En la lista de contadores, haga clic en el contador de rendimiento que desee ver.

  5. Haga clic en Todas las instancias para especificar que desea supervisar el contador de rendimiento para Common Language Runtime globalmente (es decir, en una base para todo el sistema).

    O bien

    Haga clic en Seleccionar instancias de la lista y haga clic en una aplicación para supervisar el contador de rendimiento para esa aplicación.

    Para diferenciar varias versiones del motor en tiempo de ejecución, o para eliminar la ambigüedad de varias aplicaciones con el mismo nombre, debe modificar también una clave del Registro. Para obtener más información, vea Contadores de rendimiento y aplicaciones en paralelo en proceso.

Para ejecutar Perfmon.exe en Windows Vista y Windows 7

  1. En el símbolo del sistema, escriba perfmon. Aparece la consola Monitor de confiabilidad y rendimiento (en Windows Vista) o la consola Monitor de rendimiento (en Windows 7).

  2. En la carpeta Herramientas de supervisión, haga clic en Monitor de rendimiento.

  3. En la barra de herramientas del Monitor de rendimiento, 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. El cuadro de lista Contadores disponibles muestra los objetos de rendimiento disponibles. Hay varios objetos predefinidos para las aplicaciones de .NET Framework, 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 multithreading (LocksAndThreads de .NET CLR). Cada objeto de rendimiento incluye varios contadores de rendimiento individuales.

  4. Active la casilla situada junto al nombre de un objeto de rendimiento para ver la lista de contadores de rendimiento que admite.

  5. Haga clic en el contador de rendimiento que desea ver.

  6. En el cuadro de lista Instancias del objeto seleccionado, haga clic en <Todas las instancias> para especificar que desea supervisar globalmente el contador de rendimiento de Common Language Runtime (es decir, en todo el sistema).

    O bien

    En el cuadro de lista Instancias del objeto seleccionado, haga clic en el nombre de una aplicación para supervisar el contador de rendimiento de dicha aplicación.

    Para diferenciar varias versiones del motor en tiempo de ejecución, o para eliminar la ambigüedad de varias aplicaciones con el mismo nombre, debe modificar también una clave del Registro. Para obtener más información, vea Contadores de rendimiento y aplicaciones en paralelo en proceso.

NotaNota

Cuando se instalan contadores de rendimiento nuevos mientras la consola de rendimiento se está ejecutando, detenga y reinicie la consola de rendimiento para 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 las diferentes zonas, vea Caspol.exe (Herramienta de la directiva de seguridad de acceso del código).

NotaNota

En sistemas en los que está instalado .NET Framework 4, el Monitor de rendimiento puede que no muestre los datos de los contadores de rendimiento en algunas categorías, como .NET CLR Data y .NET CLR Networking, para aplicaciones desarrolladas con .NET Framework 1.1.Si este es el caso, puede configurar el Monitor de rendimiento para mostrar estos datos al agregar el elemento <forcePerformanceCounterUniqueSharedMemoryReads> al archivo de configuración de la aplicación.

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 para calcular el método NextValue para unPerformanceCounter.

Vea también

Conceptos

Contadores de rendimiento para ASP.NET

Modelo de directiva de seguridad

Otros recursos

Contadores de rendimiento de .NET Framework