9 Comments

  1. Hi Dan – unfortunately, a CPU profiler is almost never the right tool for diagnosing slow or hanging requests.

    Most of the time, slow requests happen due to either slow db/network IO, or an application deadlock. The profiler will not help you see this because these operations are not CPU intensive (they usually end by placing the thread in a WAIT state, e.g. WaitOnMultipleObjects).

    In the rare cases where you have a high CPU hang, CPU intensive code could be the culprit and a CPU profiler could help identify it.

    In all other cases, you are better off with a debugger to look at the stacks where the hanging requests are stuck.

    Best,
    Mike

  2. matt g.

    Nice! helped catch a request hang today.

    Do you plan to blog more about how to figure out application-wide deadlocks? That”s a very interesting topic for us.

  3. Hi Matt,

    I”ll definitely blog about this in a later post. There is a lot to cover. We are also adding a diagnostic for this in LeanSentry to automatically figure it out without forcing the user to become an expert in troubleshooting deadlocks.

    Best,
    Mike

  4. After reviewing your blog I still can’t decipher where to start troubleshooting the hung issue that is getting this returned in the appcmd dump….any clues?

    C:\Users\administrator.FCQA>%windir%\system32\inetsrv\appcmd list requests /elap
    sed:10000
    REQUEST “f60000008002939f” (url:GET /FCB/LoanForms/Html/test_start_page.aspx, ti
    me:18236 msec, client:10.10.22.122, stage:BeginRequest, module:IIS Web Core)

Leave a Reply

Your email address will not be published. Required fields are marked *