Ich mache ein Tracing in NewRelic, und ich sehe, dass fast jede einzelne Anfrage einen Aufruf von 'System.Web.Mvc.MvcHandler.ProcessAsyncRequest ()' enthält.
Dieser Funktionsaufruf kann zwischen 300ms und 100s (ernsthaft, 100s) dauern. Ich habe versucht, msdn Dokumentation zu suchen, aber es gibt nichts auf Ссылка
klar, etwas lügt mich hier.
Ich habe ein paar Theorien, warum das so lange dauert:
Inferenz eingeben? Ich verwende Strukturkarte.
Probleme mit der Server-Ressource?
.net Version Inkompatibilität irgendeiner Art?
asp.net mvc Unvereinbarkeit irgendeiner Art?
Umgebung:
.net 4
asp.net mvc 3
dedizierte vm
Als ich dieses Problem fand, dachte ich das gleiche wie @garfbradaz und schaute durch die MVC-Quelle. Es war interessant, da ich keine Referenz für die ProcessAsyncRequest
-Methode gefunden habe.
Heute, nach ein paar E-Mails von einem äußerst reaktionsschnellen und zuvorkommenden Mitglied des New Relic-Teams, haben sie mir mitgeteilt, dass es sich um einen Fehler handelt. Hier ist ihre Antwort:
ProcessAsyncRequest ist ein benutzerdefinierter Name, den wir für jede Metrik verwenden aufgezeichnet, die nicht von "System.Web.UI.Page" geerbt wird Vorausgesetzt, dass MVC View Engine "System.Web.Mvc.ViewPage" alle diese verwendet Metriken fallen fälschlicherweise unter den Namen New Relic von "ProcessAsyncRequest."
Ich werde an einer Modifikation des Agenten und des Kerns arbeiten Instrumentierung, die diese Metriken hoffentlich aggregiert passend. Es tut mir leid für die Verwirrung und Schwierigkeiten, die das hat hat dich verursacht.
Ich werde Ihnen ein Update geben, wenn ich einer Lösung nahe bin.
BEARBEITEN : Eine weitere Antwort von New Relic unten - sieht so aus, als hätten sie eine Korrektur an Ort und Stelle.
Ich habe gerade ein Commit gemacht, das uns helfen wird, das zu klassifizieren Transaktionen, die vom installierten Agenten kommen.
Was das Leistungsproblem anbelangt, haben wir ein Problem entdeckt, von dem berichtet wurde die genialen Ingenieure von AppHarbor, die TypeLoadExceptions verursacht haben was mit dem langsamen Laden / Kompilieren von Code zusammenhängen könnte der Cache. Wir haben die Ursache gefunden und befinden uns in den letzten Testphasen von diesem Fix und wir hoffen, das Update in der nächsten Version von zu bekommen der Agent.
Nick von New Relic hat hervorragend darauf reagiert und ihr Produkt war sehr nützlich, also habe ich keine schlechten Gefühle, dachte nur, ich würde die Details hier teilen.
Sehr erfreut darüber, dass es in meiner MVC-App sowieso keine Geister gibt!
Vorläufig rate ich jedem, der diese Probleme hat, New Relic bis zu ihrer nächsten Veröffentlichung auszuschalten.
BEARBEITEN 2 : Nick von New Relic hat mir heute eine E-Mail geschickt - ihr letzter Agent (Version 2.0.9.15) - ist jetzt verfügbar und sollte dieses Problem beheben.
Haben Sie versucht, den MVC-Quellcode herunterzuladen, so finden Sie den MVC3-Code hier:
Machen Sie es in Ihrer Umgebung und testen Sie Ihre Website, um zu sehen, was passiert - und melden Sie sich bitte zurück! :)
Haben Sie versucht, Glimpse über Nuget zu installieren und die Anfrage zu verfolgen?
Tags und Links asp.net-mvc .net iis