We are having an issue with the purepaths for one of our .NET applications. The purepath shows the "Elapsed Time" going up to 10-20 seconds. Most of the "Elapsed Time" is always spent at the beginning of the purepath with no real indication of what is using the time. When we replicate this issue the user does not seem to experience the degradation that the purepath would indicate. Anyone have any insight into why the purepath might show this?
Thanks,
Brian
Answer by Andreas G. ·
Thanks for the insight. Yeah - that is a very handy feature in IIS. Giving you visibility in a lot of the native module executions.
Great story. thanks for sharing!
Answer by Brian P. ·
We suspected it might be a threading issue, and after searching around the community we found some other people who suggested turning on Failed Request Tracing on 1 of our IIS instances. We were then able to relate the problematic purepath to the IIS Log and found an issue with REQUEST_ACQUIRE_STATE. Talking with the .NET Architecture team at our company we found that a couple of other programs had also had issues with multiple AJAX requests making requests to the session.
Answer by Andreas G. ·
Very interesting. So - was this session state not released by code in your main executing ASP.NET codebase? Or was this the Session State Handler from MS? How did you find out it was this problem? Did you see it in the Purepath or in the CPU sample or Thread Dump?
Answer by Andreas G. ·
Hi Brian
Have you seen this blog post of mine - check out the first problem pattern: http://apmblog.dynatrace.com/2015/01/14/c-performance-mistakes-top-problems-solved-december/
I think it is related with busy worker threads. Would be interesting to create some thread dumps and see how many worker tjhreads you actually have and how many of them are busy. Also look at the thread column in the PurePath dashlet as it tells you right away which threads are involved.
Andi
JANUARY 15, 3:00 PM GMT / 10:00 AM ET