2008-10-02 15 views

Respuesta

20

Para una (pruebas no el rendimiento/esfuerzo) normal que se estar de acuerdo con lo siguiente:

  • Solicitud Los bytes de salida total (muy importante, especialmente para la web (no intranet) aplicaciones)
  • solicitudes con error
  • solicitudes/Sec
  • errores durante la ejecución
  • errores no controlados durante la ejecución
  • conexiones de sesión de SQL Server total
  • Sesiones Estado Active Server

Para las pruebas de rendimiento probablemente desee cosas como:

  • % Utilización de la CPU (asegúrese de que está comprobando la utilización de la CPU muy baja, así como podría indicar que algo está muerto)
  • solicitudes en cola
  • salida aciertos de caché
+6

¿Cómo es la solicitud Bytes de salida total importante (o incluso útil)? Es solo un recuento cada vez mayor de todos los bytes enviados. –

+0

¿Puedo obtener esos valores *** programáticamente *** usando 'Powershell y WMI'? –

9

los que utilizo 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.

Excesivo montón, gen 2 colecciones y% de tiempo en GC son los 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 regulares de ASP.NET basadas en controles web requieren una gran cantidad de objetos que se crean y luego se destruyen 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.

+2

¿Puedes ser más específico con tus números? ¿Qué es 'Un gran montón' y 'muchas conexiones gen 2'? –

+2

Mi experiencia es la misma que la de Will. La mayoría de los problemas de rendimiento con las aplicaciones web asp.net probablemente están relacionados con la memoria. % de tiempo en GC es crucial para monitorear. Es difícil especificar los umbrales duros para% de tiempo en GC, pero cualquier cosa que promedie más del 15% me llamará la atención. Debería haber muchas más colecciones Gen 0 que Gen 1, y muchas más colecciones Gen 1 que Gen 2. La GC# invocada debería ser 0 o muy pequeña.Si # GC invocado está cerca de las Colecciones de Gen 2, el código llama explícitamente a GC.Collect y la aplicación gastará un gran porcentaje de tiempo en GC. En GC, todos los hilos están en pausa, así que esto es muy malo. – BOS

Cuestiones relacionadas