I wanted to talk about monitoring performance in ASP.NET for a bit. I have already posted a few postings that talk around this issue, namely:
- ASP.NET Debugging – High Memory part 5 – Fragmentation
- ASP.NET Debugging – ASP.NET Tips- How to use DebugDiag to track down
But there are some other things to keep in mind. The best place to look for information on how to watch the performance of an ASP.NET Application is in the “Improving .NET Application Performance” guide on MSDN. Specifically Chapter 15 – Measuring .NET Application Performance. There are a lot of other very useful pieces of information in this. So I would suggest you review any Chapter that applies to your application.
As for how to capture the perfmon data (perfmon is the tool that we use to capture the performance information), take a look at my various posts around the different situations. This goes through what counters are important in each situation:
The main ones to keep an eye on are the memory counters (to watch if memory is staying under control or becoming unbounded) and the ones around the ThreadPool (Queuing, Request Execution Time, etc) to make sure things aren’t getting queued up or blocked in some manner.