What is System.Web.Mvc.MvcHandler.ProcessAsyncRequest ()?

I am doing some tracing in NewRelic, and I see that almost every request contains a call to "System.Web.Mvc.MvcHandler.ProcessAsyncRequest ()".

This function call can take from 300 ms to 100 (seriously, 100 s). I tried to find msdn documentation, but there was nothing http://msdn.microsoft.com/en-us/library/system.web.mvc.mvchandler.aspx

Clearly, something is lying to me.

I have several theories as to why this has been taking so long:

  • enter output? I use a structure structure.

  • Problems with server resources?

  • . Incorrect .NET version compatibility.

  • Asp.net mvc some kind of incoherence?

Environment:

.net 4

asp.net mvc 3

dedicated vm

+8
asp.net-mvc iis
source share
3 answers

When I found this problem, I thought the same way as @garfbradaz and looked at the source of MVC. This was interesting, as I found without a reference for the ProcessAsyncRequest method.

Therefore, I decided that it could be something that the New Relic introduced, or, as you say, a red herring, and something is harmful to us! I disabled New Relic and contacted my support team.

Today, after several letters from an extremely responsive and polite member of the New Relic team, they returned to me and acknowledged this as a mistake. Here is their answer:

ProcessAsyncRequest is a custom name that we use for any metric: a recorded one that is not / is not inherited from "System.Web.UI.Page". Given that the MVC viewer uses "System.Web.Mvc.ViewPage", all these metrics will incorrectly fall under the New Relic nickname "ProcessAsyncRequest."

I will work on modifying the agent and core devices, which, we hope, summarize these indicators accordingly. I am sorry for the confusion and called you.

I will give you an update as you get closer to the solution.

EDIT . A further answer from New Relic is below - it looks like they have a fix.

I just clicked a commit, which will help us better classify the transactions coming from the installed agent.

Regarding the performance issue, we discovered a problem that was reported by amazing AppHarbor engineers calling TypeLoadExceptions which might be related to slow loading / compiling code, cache. We found the reason and are in the final stages of testing from this fix, and we hope to get the fix in the next release of the agent.

Nick from New Relic did a great job of this, and their product was really useful, so I don’t have any bad feelings, I just thought that I would tell the details here.

Very happy to know that there are no ghosts in my MVC app!

Currently, my advice to anyone who has these problems is to disable the new relic before the next version.

EDIT 2 : Nick from New Relic emailed me today - their latest agent (version 2.0.9.15) - is now available and should fix this problem.

+4
source share

You tried to download the MVC source code, the MVC3 code can be found here:

http://aspnet.codeplex.com/releases/view/58781

You have the choice and debugging of your site to see what it does - and kindly report back! :)

+2
source share

Have you tried installing Glimpse via Nuget and see the request?

Hanselman reports this

+1
source share

All Articles