Каковы оптимальные настройки для повторного использования пулов приложений в IIS7 в общей среде?Каковы оптимальные настройки для утилизации пулов приложений в IIS7 в общей среде?
ответ
Как хостел, вы определенно хотите переработать по памяти & Время, потенциально запрашивайте лимиты и процессор. Вы хотите быть довольно агрессивным в отношении этих ограничений, но обязательно публикуйте их для своих клиентов.
Memory - 512 для коробки x86, может быть 768. Для x64 вы можете установить это намного выше, в зависимости от количества хостов на сервер. Вам просто нужно быть осторожным и наблюдать, как ваш пул приложений перерабатывает события по проблемам памяти.
Time - Мы обычно перерабатываем в 1 утра по утрам плюс или минус (первый сайт 1:01, второй 1:11, третий 1:21, так что вы не имеете всю переработку в одно и то же время)
Request limit - 35 000 было по умолчанию для IIS6, но это число вполне произвольно и сильно зависит от рассматриваемого сайта. Для небольших сайтов использования, ночная переработка ударит задолго до того, как вы получите 35 тыс. Запросов.
CPU - 95%/1 минута ограничение/KillW3WP, но используйте это внимательно. Мое понимание этого заключается в том, что если процессор достигает 95% + за ограничение в 1 минуту для этого рабочего процесса, рабочий процесс убивается и не может перезагрузиться для оставшейся части лимита, когда Action установлен на KillW3WP. Возможно, вам захочется сначала попробовать NoAction и внимательно посмотреть журналы событий.
Recycle Event Logs - Вы хотите, чтобы вы регистрировали пулы приложений для каждого установленного вами события, т. Е. Если вы ограничиваете ограничение на количество запросов, убедитесь, что ведение журнала ограничения по подписке включено.
Одна вещь, чтобы помнить, что вы должны установить retail="true"
в <deployment>
элемент в вашем machine.config:
<system.web>
<!--
<deployment
retail = "false" [true|false]
/>
-->
<deployment retail="true" />
</system.web>
Не устанавливать это позволит на сайт, чтобы включить отладку на, которая допускает неограниченное количество тайм-аутов в запросах - не совсем идеально подходит для хостера ...
Совет: При перезапуске вашего приложения, все ваши переменные сессии будут уничтожены ... так осторожно на этом!
ИМХО, сохраняйте значения по умолчанию.
Если у вас есть сайт с интенсивным движением, используйте длинный график утилизации. Если у вас есть сайт с низким трафиком, используйте сокращенный график по умолчанию для сохранения памяти.
Я узнал об этом из блога Al Забир в: http://msmvps.com/blogs/omar/archive/2008/10/04/best-practices-for-creating-websites-in-iis-6-0.aspx
Daniel S. является правильным, ваши переменные сеанса разрушаются на рецикл, поэтому убедитесь, что вы проверить это хорошо или иметь хорошие ошибки защиты/восстановления при их получении сеанса объектов ,
Вам необходимо настроить параметры в соответствии с вашими потребностями, принять во внимание объем памяти, который у вас есть, и максимальное время использования вашего сайта/веб-приложения.
Также учитывайте использование памяти вашего сайта/веб-приложения, как если бы у вас были утечки памяти, которые вы могли бы перерабатывать чаще, чем думаете.
Взвешивание любых утечек от стоимости утилизации, как указано выше, вы потеряете переменные состояния.
Но это только если вы InProc, нет? – 2012-11-29 19:37:55
Ваши переменные сеанса будут уничтожены только в том случае, если вы используете InProc. Я всегда буду поддерживать переменные сеанса вне процесса, чтобы вы могли легко масштабировать веб-сад/ферму. – 2013-07-25 10:31:00