Shyju
Shyju

Reputation: 218942

ASP.NET: Monitor application performance

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 application: like memory management, unclosed db connection, etc... The ultimate aim is to make the application work optimized. What are the things i should do for this? Are there any free tools available?

Upvotes: 3

Views: 8175

Answers (4)

Alex Nolasco
Alex Nolasco

Reputation: 19476

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.

Upvotes: 1

crou
crou

Reputation: 61

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/

Upvotes: 2

Daniel Vassallo
Daniel Vassallo

Reputation: 344561

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:

Upvotes: 6

Peter Gfader
Peter Gfader

Reputation: 7751

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.

Upvotes: 0

Related Questions