So lösen Sie hohe CPU-Nutzung und Absturz für ASP.NET-Anwendung durch System.Web.Handlers.TransferRequestHandler?
-
21-12-2019 - |
Frage
Ich habe eine ASP.NET-Anwendung, die auf einem Server 4 VCPU, 10 GB RAM, SSD HDD bereitgestellt wird. Neues auf der Suche nach Newrelic, ich fand die Wurzelursache:
system.web.handlers.transferrequesthandler
Ich habe auch eine Analyse mit Debugdiag und den Erkenntnissen gemacht: Die Leistungsanalyse zeigt, dass:
Die oberen Threads von AVG CPU war:
Thread 3428 - Microsoft.Win32.Win32Native.ReadFile (Microsoft.Win32.Safhandles.SafeFileHandle, Byte *, Int32, INT32 BYREF, INTPTR)
alle Funktionen in diesen Threads (schließt Kessel-Plattenfunktionen)
system.web.hosting.unsafeiismethods.mgdindicateCompletion (Intptr, System.Web.RequestNotificationStatus byref)
microsoft.win32.win32native.readFile (Microsoft.Win32.Safhandles.SafeFileHandle, Byte *, INT32, INT32 BYREF, INTPTR)
alle operationen Alle Funktionen in allen Vorgängen (ausgenommen Kessel-Plattenfunktionen) System.Threading.Monitor.Objwait (Boolean, Int32, System.Object) System.Threading.waithandle.waitonenativ (System.Runtime.Interopservices.safehandle, uint32, boolean, boolesche) System.Threading.Thread.SleePinternal (INT32) System.Threading.waithandle.waitmultiple (System.threading.waithyandle [], Int32, Boolean, Boolean) System.web.hosting.unsafeiismethods.mgdindicateCompletion (Intptr, System.Web.RequestNotificationStatus BYREF) Microsoft.Win32.Win32Native.ReadFile (Microsoft.Win32.Safhandles.SafeFileHandle, Byte *, INT32, INT32 BYREF, INTPTR)
Bitte helfen Sie und empfehlen Sie die Schritte zur Auflösung. Danke
Lösung
Mark EnablessionState="false" auf den meisten Seiten oder verwenden Sie ein benutzerdefiniertes SessionState-Modul.