Debug live website performance with DebugDiag and Windbg – capture memory dump

In this scenario we have an application that performs slowly and has high CPU usage. Typically pages take longer to load and sometimes might timeout.

Start DebugDiag Collector and select “Performance”

debugdiag-performance

Select the second option to monitor the HTTP response times of your website

debugdiag-http-response-times

Add the urls to the pages that are performing slowly to monitor their response times

debugdiag-select-url-monitor

Enter the page urls and set the timeout after which the rule is triggered. The default is 2 minutes.

debugdiag-select-url-monitor-2

Now we select the “dump targets”, i.e the application pool that we want to monitor.

debugdiag-add-dump-target

Choose the application pool of your website

debugdiag-add-dump-target-2

For performance analysis we need to capture multiple memory dumps and analyse their similarities and try to discover patterns in the application behaviour. A single memory dump is not enough as it may not capture the offending code.

The default settings will capture 10 mini memory dumps, every 3 seconds and a final full memory dump.

debugdiag-configuration-2

Note the path of the log folder: C:\Program Files\DebugDiag\Logs\HTTP Response Rule 1

debugdiag-dump-location-2

Activate the rule to start monitoring your application

debugdiag-activate-rule