Как решить проблему высокой загрузки ЦП и сбоя приложения asp.net, вызванного System.Web.Handlers.TransferRequestHandler?
У меня приложение ASP.NET развернуто на сервере 4 vCPU, 10 ГБ ОЗУ, SSD HDD. Посмотрев на NewRelic, я обнаружил, что первопричина:
System.Web.Handlers.TransferRequestHandler
Я также провел анализ с использованием DebugDiag и получил следующие выводы: Анализ производительности показывает, что:
Основные темы по Avg CPU:
Поток 3428 - Microsoft.Win32.Win32Native.ReadFile(Microsoft.Win32.SafeHandles.SafeFileHandle, Байт *, Int32, Int32 ByRef, IntPtr)
Все функции в этих потоках (исключая функции пластины котла)
System.Web.Hosting.UnsafeIISMethods.MgdIndicateCompletion (IntPtr, System.Web.RequestNotificationStatus ByRef)
Microsoft.Win32.Win32Native.ReadFile (Microsoft.Win32.SafeHandles.SafeFileHandle, Байт *, Int32, Int32 ByRef, IntPtr)
Все операции Все функции во всех операциях (исключая функции рабочей панели) System.Threading.Monitor.ObjWait(Boolean, Int32, System.Object) System.Threading.WaitHandle.WaitOneNative(System.Runtime.InteropServices.SafeHandle, UInt32, Boolean, Булево) System.Threading.Thread.SleepInternal(Int32) System.Threading.WaitHandle.WaitMultiple(System.Threading.WaitHandle[], Int32, булево, булево) System.Web.Hosting.UnsafeIISMethods.MgdIndicatePP.RequestNotificationStatus ByRef) Microsoft.Win32.Win32Native.ReadFile(Microsoft.Win32.SafeHandles.SafeFileHandle, Byte*, Int32, Int32 ByRef, IntPtr)
Пожалуйста, помогите и порекомендуйте шаги для разрешения. Спасибо
1 ответ
Отметьте EnableSessionState="False" на большинстве страниц или используйте пользовательский модуль SessionState.