On one of our production servers, occasionally requests get stuck in the RequestAquireState while in the session module. As it is an MVC request, it does not timeout, so we sometimes get requests that run in the background for several hours.
We are using the standard asp.net session module on .net4 and IIS 7.5 We are using InProc.
Why would it get stuck?
Here is my preferred method for diagnosing hanging requests on IIS servers: 1. Dump hanging requests If the requests are currently hanging, this will instantly show you 3 critical things: 1. Which URLs are involved 2. Whether all requests to the app are hanging or just specific URLs 3. The module/request stage they are hanging in. 2.
Just open the Server Manager,go to Add or Remove Roles and in the wizard make sure you're checking the "Request Monitor" under "Health And Diagnostics", like it's shown in this screen capture: After the feature is installed, open again your IIS Manager and you'll see the option to inspect the requests.
For some reason, the requests in one of our app pools started "hanging up" today. The CPU usage is low, as is memory consumption, but requests in a worker are coming in and just getting queued; they are all stuck at state "ExecuteRequestHandler". We can recycle the pool, and things work for like a minute, but stuff starts getting queued up again.
Dump hanging requests If the requests are currently hanging, this will instantly show you 3 critical things: 1. Which URLs are involved 2. Whether all requests to the app are hanging or just specific URLs 3. The module/request stage they are hanging in. 2. Next, get a detailed request trace
Had the same problem when running with Asp.net State Server, restarting the service resolved the problem.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With