Monitoring ASP.net pages CPU usage

1.3k views Asked by At

I'm having some performance issues with a web application. The CPU usage of this application pool can exceed the 90%. The normal usage I noticed is 30%.

I used Debug Diagnostic tool to monitor the CPU usage of this application and I figured out that SNIReadSyncOverAsync is the problem. I don't have any other details about which function on my application or page is behind the call to SNIReadSyncOverAsync. What I need to know is which page are consuming the most CPU in my application.

Do you have any idea how can I monitor each page performance ?

2

There are 2 answers

0
coolriddler On

I think you can also use perfmon(performance monitor). you can invoke it from Start -> Run -> Perfmon.exe. you can setup the counters and see on using which page there is a spike. for more details refer http://msdn.microsoft.com/en-us/library/aa645516(v=vs.71).aspx

0
Alex Nolasco On

Do you have any idea how can I monitor each page performance ?

Yes there is a way to see what is consuming the CPU in a production environment by using the Windows Performance Recorder. For example,

On the server in question run the commands below at the prompt

wpr -start DotNET

When the code in question has executed, run

wpr -stop DotNET

Then using the Windows Performance Analyzer, you can analyze the ETL file created by WPR. See Microsoft's Channel9 for details.

Alternatively, you can also use PerfView to capture requests that take longer than expected. For example,

perfview collect -StopOnRequestOverMsec:3000 -ThreadTime -Merge:true -Zip:true -LogFile:perfviewlog.log -CircularMB:512 -DataFile:LongRequest.etl

Then analyze the stack information using PerfView.