2011-01-31 20 views
5

Tengo una aplicación de servicio web que expone gran cantidad de métodos web (llamadas internas API internas o servicios web externos). Me gustaría tener una herramienta para monitorear toda esta aplicación que se ejecuta bajo IIS. Para que quede claro, simplemente no quiero inspeccionar las solicitudes que están fallando, también me gustaría ver cosas como cuánto tardan las diferentes llamadas. Supongo que tiene que ser algo así como la herramienta del Analizador de SQL donde se pueden ver todos los tipos de consultas (las que se ejecutan correctamente y las que también fallan) y luego aplicar todo tipo de filtro al enfocarse en las áreas que más le interesan.Herramientas para supervisar IIS y el rendimiento de las aplicaciones

¿Hay algo incorporado en IIS que pueda usarse para este propósito?

+1

¿Qué tecnología de servicio web está utilizando (ASMX, WCF)? Además, ¿qué versión de .NET e IIS está ejecutando? –

+0

ASMX por ahora, pero estará adotando WCF pronto. IIS 7, .NET 3.5 (teniendo en cuenta algunas cosas en .NET 4.0) – imak

Respuesta

5

Lo que se busca es un perfilador de tiempo de ejecución para el CLR. La respuesta es rastreo de ETW. La herramienta que puede ayudar es PerfMonitor.

IIS 7 tiene failed request tracing que puede ayudar a diagnosticar la causa del error .

También los registros de IIS tienen mucha información sobre pedido, respuesta, duración y pocos más que pueden ser útiles para obtener métricas. Usualmente uso Log Parser para obtener métricas de los registros IIS

Y si está en IIS7 +, entonces puede usar el seguimiento ETW integrado para servicios web. Aquí es el proveedor de servicio web ETW

e04fe2e0-c6cf-4273-b59d-5c97c9c374a4: Microsoft-Windows-WebServices Microsoft-Windows-WebServices 
+0

entonces, ¿hay alguna herramienta que pueda integrar todos estos datos/mensajes o tendré que ejecutar estas herramientas por separado para reunir todos los datos para el análisis? También publiqué una pregunta diferente, pero lo que obtendré del monitor Perfromance no es parte de ETW. De alguna manera tengo esta comprensión de que ETW es una especie de superconjunto de todos los registros (lo que significa que incluye todos los contadores de rendimiento, seguimiento de solicitud fallida y registros de IIS, etc.)? – imak

+0

Corrígeme si estoy equivocado pero parece que el enlace de PerfMonitor que proporcionó funciona con .NET 4.0, mientras que estamos en 3.5 – imak

+0

@Imak No con Perfmonitor También puedo obtener llamadas para el proceso de .NET 3.5. – Naveen

0

Para cualquier aplicación que se ejecute en ASP.NET, you can use perfmon para ver los diferentes números de rendimiento.

Si está utilizando ASP.NET 4, incluso hay better tools available to you

Además, si sus servicios web se basan WCF, it gets even better No sólo usted tiene muy rica trazado, there's also a gui que muestra los registros muy bien.

+0

Disculpe mi ignorancia pero, ¿de qué herramienta de gui específicamente habla usted aquí para ver los registros? – imak

+0

Lo siento editado para agregar un enlace al visor de seguimiento de servicio. –

+0

Se encontró http://msdn.microsoft.com/en-us/library/cc786217(v=ws.10).aspx que podría ser útil también – imak

0

Usted puede tratar de obtener extensiones IIS oficiales con el Microsoft Web Platform Installer llama Web Performance Monitor

+0

Lo ideal sería desea utilizar alguna herramienta/tecnología que tenga una gran base de usuarios existente para una aplicación de producción. Corrígeme si estoy equivocado pero no veo un uso extendido para esto. – imak

0

Microsoft vende System Center Operation Manager, que ha sido utilizado por muchas grandes empresas. Pero eso es demasiado caro si no puedes pagarlo.

Web Performance Monitor, por supuesto, vale la pena intentarlo, y Perfmon ya es una opción.

Cuestiones relacionadas