Мы периодически получаем от пользователей отчеты о следующей ошибке сервера.
[OutOfMemoryException: Exception of type System.OutOfMemoryException was thrown.]
[HttpException (0x80004005): Unable to serialize the session state. Please note that non-serializable objects or MarshalByRef objects are not permitted when session state mode is ‘StateServer’ or ‘SQLServer’
Находясь в состоянии, в котором появляется эта ошибка, кажется, что он ударил или пропустил, воспроизводятся ли ошибки локально.Если они есть, то мы обычно можем воспроизвести их в течение пары минут, но не на каждом посещении страницы.Обычно это сужается само по себе и обычно разрешается к тому времени, когда мы возвращаемся к контактам с пользователями.
Веб-служба имеет около 90-100 активных соединений в рабочее время.Единственный другой сайт на этом сервере - это промежуточная версия этого сайта, которая попадает очень редко.Состояние сеанса хранится в том же экземпляре SQLServer, что и база данных приложения, которая размещается на довольно большом кластере виртуальных машин.Ни Web-сервер, ни SQLServer, по-видимому, не облагались налогом (ни процессором, ни памятью), пока это происходит.
Распределение страниц с ошибками кажется сопоставимым с нормальным распределением для каждой страницы.Там, кажется, не существует никаких паттернов с точки зрения времени возникновения.У нас в среднем меньше ошибок в выходные дни (что соответствует нормальной загрузке сайта), но даже это, по-видимому, не соответствует.
Также не существует корреляции между зарегистрированными ошибками и любыми другими.зарегистрированных событий монитора производительности.Это включает в себя массив счетчиков perfmon, в том числе:
.NET CLR Jit(w3wp)\notal # of IL Bytes Jitted
.NET CLR Jit(w3wp)\IL Bytes Jitted / sec
.NET CLR Jit(w3wp)\% Time in Jit
.NET CLR Jit(w3wp)\# of Methods Jitted
.NET CLR Jit(w3wp)\# of IL Bytes Jitted
ASP.NET Apps v1.1.4322(__Total__)\Requests Failed
ASP.NET Apps v1.1.4322(__Total__)\Errors Unhandled During Execution/Sec
ASP.NET Apps v1.1.4322(__Total__)\Errors Unhandled During Execution
ASP.NET Apps v1.1.4322(__Total__)\Cache Total Turnover Rate
ASP.NET Apps v1.1.4322(__Total__)\Errors During Preprocessing
ASP.NET Apps v1.1.4322(__Total__)\Errors During Execution
ASP.NET Apps v1.1.4322(__Total__)\Requests Executing
ASP.NET Apps v1.1.4322(__Total__)\Requests Total
ASP.NET Apps v1.1.4322(__Total__)\Errors Total
ASP.NET Apps v1.1.4322(__Total__)\Sessions Abandoned
ASP.NET Apps v1.1.4322(__Total__)\Errors Total/Sec
ASP.NET Apps v1.1.4322(__Total__)\Anonymous Requests/Sec
ASP.NET Apps v1.1.4322(__Total__)\Requests/Sec
ASP.NET Apps v1.1.4322(__Total__)\Session SQL Server connections total
ASP.NET Apps v1.1.4322(__Total__)\Cache Total Hit Ratio
ASP.NET v1.1.4322\Requests Current
ASP.NET v1.1.4322\Request Execution Time
Memory\Pages/sec
Bytes Total/sec
PhysicalDisk(_Total)\Avg. Disk Queue Length
Processor(_Total)\% Processor Time
Web Service Cache\File Cache Hits %
Web Service Cache\File Cache Misses
Web Service Cache\File Cache Hits
Web Service(_Total)\Current Connections
Web Service(_Total)\Post Requests/sec)
Единственный шаблон, который я вижу в журналах, не соответствует возникновению этих ошибок, но является единственным шаблоном, который я вижу.Просматривая журналы perfmon, мы видим шаблон, в котором "Общее количество IL-байтов соединилось", "IL-байтов соединилось / сек", "% времени в Jit", "# Методы соединились" и "# IL-байтов соединилось"«Счетчики для промежуточного сайта (который не должен получать трафик) не извлекают данные в течение 20-50 минут, после чего происходит мгновенный скачок« IL Bytes Joted / sec »и скачок в«% времени ».в Jit "на 2-20 минут до 99% для основного сайта.
Если у кого-либо есть идеи о том, что может быть причиной этого, или у него был опыт с похожей проблемой, я был бы благодарен за любой вклад.
Спасибо!