views:

1000

answers:

3

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.

Thanks in advance for every suggestion!

+4  A: 

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.

urig
+1  A: 

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.

splattne
+1  A: 

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.

MikeJ