Pregunta

Creo que muchos desarrolladores conocen esa sensación incómoda cuando los usuarios les dicen que " La aplicación es lenta (nuevamente). "

En una aplicación web compleja puede haber muchas razones posibles para una degradación en el rendimiento (percibido): respuesta lenta de la base de datos, problemas de ancho de banda, mal almacenamiento en caché, etc. Ciertamente hay problemas que nunca ocurrirán en un entorno de desarrollo o puesta en escena.

Ahora mi pregunta:

¿Existe un conjunto de herramientas y / o métodos que proporcionarían a un completo "vivir"? estado en un sistema de producción IIS / ASP.NET / SQL Server de forma visual (no solo contadores de rendimiento):

  • Solicitudes HTTP actuales (digamos los últimos n minutos)
  • Excepciones / tiempos de espera
  • Datos de ancho de banda
  • Número de conexiones de bases de datos abiertas / llamadas a bases de datos
  • ...

El objetivo principal es ver de un vistazo (o después de mirar más de cerca) qué problema está causando los problemas de rendimiento.

¿Fue útil?

Solución

Creo que la categoría de software que está buscando es " .net profiler " o ".net tracer". Una de esas herramientas que podría considerar es la dotTrace de JetBrains. Le proporciona rastros de pila de tiempo de ejecución y una serie de contadores que indican posibles cuellos de botella.

Otros consejos

Las herramientas mencionadas anteriormente ciertamente funcionarán. En nuestra tienda necesitábamos información más precisa y creamos nuestra propia solución (larga historia: era más fácil codificar que discutir sobre herramientas y datos recuperables).

Utilicé LogParser para hojear IIS registra y crea informes de salida de esos registros (por ejemplo, averías del código de resultados, etc.).

Utilicé una combinación de contadores de rendimiento y valores de WMI para obtener el resto; puede leerlos usando C # bastante simple; esto le brinda un control total que luego puede volcar a .csv, etc. para ver / procesar en Excel o si está actualizando una página como centro de control.

Probablemente también vería IIS.net como un gran recurso para las herramientas de IIS, incluida la depuración, la seguridad etc.

Seguí consejos de urig y encontró este software llamado SmartInspect .

¿Alguien conoce esta herramienta de registro / monitoreo? Parece ser una combinación de consola en tiempo real y biblioteca de desarrollador.

CLR 4.5 tendrá algunas capacidades nuevas que lo ayudarán a monitorear el desempeño de ASP.NET en vivo, sin reiniciar su aplicación. Básicamente, puede volver a JITAR su código para incluir algunos ganchos de monitoreo en él, y luego inspeccionar el tiempo dedicado a clases / métodos, etc.

Estoy seguro de que dotTrace y otras herramientas de creación de perfiles aprovecharán esto automáticamente, pero vale la pena echarle un vistazo: C9 - Inside Re-JIT con David Broman

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top