Доказательство того, что веб-сады плохо работают с сессиями InProc - PullRequest
0 голосов
/ 02 декабря 2010

Я работаю с веб-садами в ASP.NET с IIS 6.0. Несколько источников ( Source1 Source2 ) объясняют, как InProc Session не очень хорошо работает с Web Gardens. Я построил программу, чтобы доказать это, но результаты трудно объяснить. Пожалуйста, помогите мне объяснить результаты моего тестирования.

ТЕСТ
Я установил Максимальное количество рабочих процессов на 1000 в IIS. Я создаю веб-приложение, которое сохраняет строку в сеансе и получает значение одним нажатием кнопки. Запустите веб-приложение в браузерах IE, FF и Blackberry.

РЕЗУЛЬТАТ
IE : обычно тянет сессию правильно. Сессия не удалась после того, как веб-сайт простаивал в течение ~ 3 минут. FF : сеанс никогда редко бывает неудачным. После заседания ~ 15 минут сеанс не удался.
BB : регулярно происходит сбой. Соотношение соответствует тому, что говорит Source2. Чем больше рабочих процессов в Саду, тем больше вероятность того, что сессия завершится неудачно.

Моя интерпретация
Браузеры FF / IE / Desktop имеют больше памяти, что может улучшить кэширование.

Примечания
Настройка IE для проверки новых версий страницы при каждом посещении не имеет никакого эффекта. Заметил, что обратные передачи от Blackberry в значительной степени гарантируют создание нового экземпляра w3wp.exe, тогда как использование Mem увеличилось для того же процесса w3wp.exe с обратной передачей из IE / FF.

1 Ответ

2 голосов
/ 03 декабря 2010

Тот факт, что браузеры имеют больше памяти, не должен иметь ничего общего с InProc Sessions и WebGardens, поскольку они являются серверными компонентами.

По мере увеличения количества рабочих процессов вы видите больше проблем, потому что чем больше число рабочих процессов, тем меньше вероятность того, что ваш запрос будет обработан тем же рабочим процессом, когда он вернется.Другими словами, если у вас есть только один рабочий процесс, у вас есть шанс 1 на 1, что он вернется к тому же рабочему процессу при втором запросе;если у вас есть два рабочих процесса, у вас есть 1 из 2 шансов, если у вас есть три рабочих процесса, у вас есть 1 из 3 шансов и т. д.

Интересно, почему вы пытаетесь использовать сессии InProc.Нет почти никаких веских причин, поскольку они могут очень легко исчезнуть.См. Эту статью http://www.west -wind.com / Weblog / posts / 1986.aspx

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...