I have an ASP.NET application which will be running in a web server (Windows Server 2003) for serving my intranet users. Now i would like to monitor the performance of the appli
Besides the accepted answer, sometimes performance counters and IIS logs are not enough to track down large and complex monolith applications. In which case, stack information could be helpful. Perfview can help you with this and it's open source.
Say for instance you want to track down .NET stack information and stop whenever a web request takes more than 3 seconds. You would then run the following command at the prompt
perfview collect -StopOnRequestOverMsec:3000 -ThreadTime -NoNGenRundown -Merge:false -Zip:false -LogFile:perfviewlog.log -CircularMB:512 -DataFile:LongRequest.etl
Then use perfview to analyze the LongRequest.etl file and track down the .NET call in question. See more at Microsoft's Channel9.
I would run a profiler like jetBrains dotTrace or ANTS profiler.
Both can profile CPU usage or memory usage. Very easy to find methods with high CPU usage or objects with large memory usage. Not free though.
ASP.NET includes performance counters that you can track with the Windows Performance Monitor (Perfmon.exe). You can launch this from the Administrative Tools in Windows Server 2003.
You may want to check out these articles which can guide you to choose the most appropriate performance counters:
Playing with Windows Performance counters may be challenging to identify which counter you need to watch and then analyze them in a short, medium or long period.
I'm generally use the Performance Analysis of Logs (PAL) Tool (very easy to use!) to gather specific and predefined performance counters based on what you need to monitor (IIS web app, SharePoint, Exchange, etc) and then use the PAL wizard to build nice reports:
http://www.codeplex.com/PAL
Give it a try, it's very nice to get an idea of the general performance of your web site.
Of course, if you need to dig inside your application to find memory leak or any performance hit, you could try the Redgate ANTS Performance Profiler:
http://www.red-gate.com/products/ants_performance_profiler/