dotnet - ¿Cuáles son los mejores contadores de rendimiento ASP.NET para monitorear?
environment include production (3)
Los que uso más son los contadores de memoria. Todos ellos. Sé que no son específicos de ASP.NET, pero los únicos problemas que he tenido con una aplicación web fueron problemas de memoria.
El montón excesivo, las colecciones gen 2 y el% de tiempo en GC son las más importantes. Si su tiempo en GC está fuera de control, es una señal de que su UI y viewstate son demasiado grandes. Un gran montón y muchas colecciones gen 2 dice que estás guardando demasiadas cosas en la memoria (por ejemplo, en el estado de la sesión).
Las aplicaciones normales de ASP.NET basadas en controles web requieren que se creen muchos objetos y luego se destruyan rápidamente, a medida que una página se reconstruye y luego se desecha. Las colecciones de alta gen0 no están mal. Es cuando comienzas a ver muchos objetos convertirlo en gen1 y luego gen2 que sugiere que estás perdiendo memoria o te estás reteniendo demasiado.
Hay camiones de contadores disponibles en perfmon para ASP.NET. ¿Cuáles son los mejores (estoy pensando en elegir 5-10) que serán los mejores para monitorear en nuestro entorno de prueba para que podamos retroalimentar a los desarrolladores.
Estoy pensando en cosas como tiempo de solicitud, longitud de la cola de solicitud, sesiones activas, etc.
Para una prueba normal (no de rendimiento / estrés) estaría bien con lo siguiente:
- Bytes de solicitud total (muy importante especialmente para aplicaciones web (no intranet))
- Las solicitudes fallaron
- Solicitudes / seg
- Errores durante la ejecución
- Errores no manejados durante la ejecución
- Conexiones totales de SQL Server de sesión
- State Server Sessions Active
Para las pruebas de rendimiento probablemente quieras cosas como:
- % De utilización de la CPU (asegúrese de que está buscando muy poca utilización de la CPU y puede indicar que algo está muerto)
- Solicitudes en cola
- Resultados de la memoria caché de salida
Tenga en cuenta los contadores de memoria cuando ejecute más de un ASP.NET Application Pool revise el problema en http://blog.dynatrace.com/2009/02/27/can-you-trust-your-net-heap-performance-counters/