We are suffering from random high number of ASP.NET\Requests Queued. When we look at IIS worker proccess requests, there are hundreds of request stuck in UpdateRequestCache as you can see in picture (along side many other requests get stuck in BeginRequest and EndRequest). When this problem happens, I have to recycle application pool.
- OS: Win 2012 R2 Standard 64Bit
- IIS 8.5
- ASP.Net Application uses .Net 4.6.2 / MVC 5.2.2.
- No custom HttpModule is used in Application.
- CPU usage is fairly low (below 20%) when queue happens. Also there is plenty of RAM (more than 60%) available.
- As you can see in the picture, hang occurs on two controllers which their responsibility is sending images to clients.
My question is what could be cause of hang in UpdateRequestCache?
Accourding to this document, UpdateRequestCache happens when ASP.NET finishes executing an event handler, so if my code is not optimized, How can the code affect the UpdateRequestCache?