Мы собираемся развернуть несколько сайтов на некоторых новых серверах. У меня есть следующие вопросы о пулах приложений:
Представляется целесообразным иметь один пул приложений для каждого веб-сайта. Есть ли какие-либо предостережения в отношении этого подхода? Будет ли один пул приложений загружать все ресурсы процессора, памяти и т. Д.?
Когда следует разрешить несколько рабочих процессов в пуле приложений? Когда не стоит?
Можно ли использовать ограничение частной памяти, чтобы один пул приложений не мешал другому? Слишком низкое значение приведет к тому, что действительные запросы перезапустят пул приложений без получения правильного ответа?
В чем разница между частной и виртуальной памятью?
Есть ли веские причины НЕ запускать один пул приложений на сайт?
источник
Ответы:
Это довольно хороший подход; нет никаких веских причин, по которым я могу придумать, чтобы разные «сайты» (приложения) разделяли один и тот же пул. Если только им не нужен один и тот же ресурс. Одно приложение теоретически может потреблять много ресурсов ЦП или памяти, но изменение способа объединения приложений не сильно повлияет на это.
Это лучше оставить в покое, используя настройки по умолчанию. Если вы действительно не знаете, что делаете, это может негативно повлиять на ваш сайт / приложение.
а) теоретически
б) Да, установка его ниже может иметь негативные последствия. Опять же, если у вас нет особых потребностей и вы не знаете, что делаете, просто оставьте их в покое.
Это очень сложно, вот быстрое сообщение, которое я нашел, которое может помочь: http://cybernetnews.com/cybernotes-windows-memory-usage-explained/
Опять же, единственная причина, по которой я могу придумать, - это если какой-то «общий ресурс» нужен нескольким приложениям, тогда вы захотите запустить их в одном и том же процессе.
Для приложений общего назначения и веб-сайтов IIS довольно хорошо настроен со значениями по умолчанию.
****ОБНОВИТЬ****
Что касается вашего запроса на дополнительную информацию о # 2, вы не должны делать это, если у вас нет особой необходимости сделать это. Даже если серверные действия занимают много времени, запросы обрабатываются с использованием нескольких потоков, и вы можете использовать «асинхронные запросы» для обработки долго выполняющихся задач (что освобождает поток пула потоков для обработки других запросов). На самом деле, я не могу придумать какой-либо веской причины разрешить несколько процессов для одного пула.
Как только вы начинаете говорить с несколькими процессами, вы потенциально можете столкнуться с такими вещами, как: потеря состояния сеанса, потому что сеанс жив в процессе 1, но запрос обрабатывается процессом 2. Или, что еще хуже, вы должны выяснить, как сделать межпроцессное общение, что является настоящей болью.
Независимо от того, с чем вы столкнулись в связи с причиной нескольких процессов, я был бы готов поспорить, что есть лучший способ справиться с этим (вместо того, чтобы запускать другой процесс).
источник
Я всегда настраиваю выделенный пул приложений для веб-сайта. Недорогие сценарии хостинга веб-сайтов имеют смысл, когда большое количество сайтов на пул приложений имеет смысл.
Ограничения памяти на самом деле являются лишь примитивными порогами безопасности, которые не позволяют сайту использовать все системные ресурсы. Обратите внимание, что это более потенциальная проблема в Windows 2008 R2 x64, чем в IIS 6.0 x86, поскольку приложения x86 имели естественный потолок памяти в 2 ГБ. В IIS 7.5 гораздо проще для приложения с утечкой памяти потреблять огромное количество памяти.
Я также не большой поклонник утилизации пулов приложений. Если у меня есть пул приложений, и я являюсь единственным запущенным приложением, если в нашем коде нет ничего плохого, вероятно, нет необходимости перезапускать пул приложений. И если в приложении есть дефект, то в конечном итоге необходимо исправить код.
источник