0
votes

At work, we have an application that will periodically fall under heavy CPU usage for a lengthy period of time (> 1 hour). The application is hosted under IIS and runs alongside other applications. This application is built in .NET 4.5, using ASP.net MVC 5.

We have added Application Insights to most applications running under this server, and looking at a past event I can see the CPU spiking for a long period of time. If I compare the telemetry from other AppInsights instances, there's barely no CPU usage for the same period. From this, I can assume I have found the web app that is causing the high CPU usage.

Going forward, I'd like to identify what request(s) triggers that intensive CPU usage. I can see the requests that were sent just before the event, but nothing runs for the duration of these spikes.

Is there anything with ApplicationInsights that can help me pinpoint which request caused the high CPU usage ?

2

2 Answers

1
votes

Find and diagnose performance issues with Azure Application Insights

Specifically, look at the "profiler", which should give you some more insights into your performance.

performance hot paths

0
votes

Try https://{sitename}.scm.azurewebsites.net/ProcessExplorer/ there you can take memory dumps an GC dumps of your w3wp process. Then you can compare 2 GC dumps to find memory leaks and open the memory dump with windbg/VS for further "offline" debugging.

How to use the Debug Diagnostics Tool to troubleshoot high CPU usage by a process in IIS

Troubleshooting High CPU in an IIS 7.x Application Pool

Find and diagnose performance issues with Azure Application Insights