Еще одно замечание: в этом приложении не много пользователей (от 50 до 200 на сервер), но каждый пользователь работает с большим количеством данных. Поэтому для нас имеет смысл кэшировать много данных в памяти для каждого пользователя. При 5 МБ на пользователя, даже 200 пользователей - это только 1 ГБ оперативной памяти, используемой для кэширования. Мы спроектировали систему таким образом, и она успешно работает во многих средах в течение нескольких лет.

я есть веб-приложение, которое использует ASP.NET с обработкой сеанса «InProc». Обычно все работает нормально, но несколько сотен запросов каждый день выполняются значительно дольше, чем обычно. В журналах IIS я вижу, что эти страницы (для запуска которых обычно требуется 2-5 секунд) работают более 20 секунд.

Я включил отслеживание Failed Request в режиме Verbose и обнаружил, что задержка происходит в разделе AspNetSessionData. В примере, показанном ниже, между AspNetSessionDataBegin и AspNetSessionDataEnd был 39-секундный разрыв.

Я не уверен, что делать дальше. Я не могу найти причину этой задержки, и я не могу найти больше функций ведения журнала, которые могли бы быть включены, чтобы сообщить мне, что здесь происходит. Кто-нибудь знает, почему это происходит, или есть какие-либо предложения для дополнительных шагов, которые я могу предпринять, чтобы найти проблему?

Мое приложение обычно хранит 1-5 МБ в сеансе для каждого пользователя, в основном это кэшированные данные для поиска. Сервер имеет много доступной памяти и работает только около 50 пользователей.

Ответы на вопрос(2)

Ваш ответ на вопрос