Пул приложений перезапускается после «Фиксированного количества запросов» - PullRequest
4 голосов
/ 06 июня 2009

Каковы последствия настройки пула приложений IIS для переработки после «фиксированного числа запросов»?

Предположим, это число равно 100, и 99-й человек подключается к моему веб-сайту, затем приходит 100-й человек и запускает повторное использование пула приложений.

Означает ли это, что вся информация о сеансе для сеансов 1-99 будет потеряна (срок действия внутрипроцессного сеанса истечет после перезапуска рабочего процесса пула приложений)?

Ответы [ 2 ]

4 голосов
/ 06 июня 2009

У вас, в принципе, все правильно, но это не человек, а просьба. Каждая страница aspx, вызываемая в вашем приложении, будет суммироваться, и когда порог будет достигнут, пул приложений будет перезагружен, домен приложения (если вы используете .Net) выгружается, и все запускается снова. Вы теряете Session, Application и любые статические переменные, лежащие вокруг. Если вы используете классический asp или php, все сессии и глобальные переменные тоже теряются.

Порог количества попаданий немного превышен. Вы должны либо отключить его, либо установить его на огромное количество. По умолчанию, если я хорошо помню, пул приложений IIS6 перезагружается каждые 15 минут, если не было запроса, и вы также можете установить порог для общего объема памяти, используемой вашим приложением для запуска перезапуска.

3 голосов
/ 06 июня 2009

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

...