Tools and methods for live-monitoring ASP.NET web applications?
Asked Answered
C

4

21

I think many developers know that uncomfortable feeling when users tell them that "The application is slow (again)."

In a complex web application there can be many possible reasons for a degradation in (perceived) performance: slow database response, bandwidth issues, bad caching etc. There certainly are issues which will never occur in a development or staging environment.

Now my question:

Is there a set of tools and/or methods which would provide a comprehensive "live" state on a IIS/ASP.NET/SQL Server production system in a visually way (not just performance counters):

  • Current HTTP requests (say the last n minutes)
  • Exceptions / timeouts
  • Bandwidth data
  • Number of open database connections / database calls
  • ...

The primary goal is to see at a glance (or after looking closer) what problem is causing the performance problems.

Columbian answered 3/11, 2008 at 16:7 Comment(0)
S
6

I think the category of software you're looking for is ".net profiler" or ".net tracer". One such tool that you might consider is JetBrains' dotTrace. It gives you runtime stack traces and an array of counters that indicate possible bottlenecks.

Schumann answered 3/11, 2008 at 16:48 Comment(0)
P
4

Previously mentioned tools will certainly work. At our shop we needed finer information and built our own solution (long story: it was easier to code than to argue about tools and retrievable data).

I used LogParser to flip through the IIS logs and create output reports of those logs (e.g. result code breakdowns etc).

I used a combination of performance counters and WMI values to get the rest - you can read these using some pretty straightforward C# - this gives you full control that you can then dump to .csv etc for viewing/processing in excel or if you are updating a page as a control center.

I would probably also look at IIS.net as a great resource for IIS tools including debugging, security etc.

Pianola answered 3/11, 2008 at 17:43 Comment(1)
I just checked out iis.net and found a good article posted just a few days ago: blogs.iis.net/timamm/archive/2012/02/11/…Nematic
C
1

I followed urig's advice and found this software called SmartInspect.

Does anybody know this logging/monitoring tool? It seems to be a combination of real time console and developer library.

Columbian answered 3/11, 2008 at 17:17 Comment(0)
G
1

CLR 4.5 will have some new capabilities that will help you monitor ASP.NET performance live - without restarting your app. Basically you can re-JIT your code to include some monitoring-hooks in it, and then inspect time spent in classes/methods etc.

I'm sure dotTrace and other profiling tools will leverage this automatically, but it's worth checking out: C9 - Inside Re-JIT with David Broman

Ganesha answered 23/9, 2011 at 19:34 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.