В чем разница между iisreset, recycle, refresh и restart?

53

В IIS7 есть множество вещей, которые вы можете сделать, чтобы перезапустить веб-сайт. Мне неясно, как именно они все связаны.

  • запустить iisreset из командной строки
  • обновить сайт
  • переработать пул приложений
  • перезапустить сайт

Может кто-нибудь объяснить точно, что каждый делает, пожалуйста?

jimconstable
источник

Ответы:

60

iisreset остановит и запустит службу публикации в Интернете. Это, конечно, относится ко всем вашим пулам приложений. Я уверен, что вы заметили процесс, создаваемый для каждого пула приложений. Этот процесс будет обрабатывать запросы для всех сайтов, связанных с ним. Когда вы перезапускаете пул приложений , IIS создает новый процесс (сохраняя старый) для обслуживания запросов. Затем он пытается переместить все запросы на новый процесс. После истечения времени ожидания старый процесс будет автоматически убит. Обычно вы перезапускаете свой пул приложений, чтобы избавиться от утечки памяти (у вас может быть проблема в приложении, если это должна быть регулярная операция, даже если рекомендуется выполнить запланированную перезапуск). Что касается перезапуска сайта, он просто останавливается и перезапускает обработку запросов для этого конкретного сайта. Он будет продолжать обслуживать другие веб-сайты в том же пуле приложений без перерывов.

Если у вас есть сессионно-ориентированное приложение, все вышеперечисленное приведет к потере объектов сеанса.

Обновление веб-сайта не влияет на службу / процесс / веб-сайт и является просто командой пользовательского интерфейса для обновления древовидного списка (возможно, вы добавили каталог, которого не видите в консоли управления).

Влад Муческу
источник
1
У вас есть источник этой информации?
Джошуа Дрейк
@JoshuaDrake, это очень хорошая статья, объясняющая, что iisreset vs пул приложений перерабатывает fullsocrates.wordpress.com/2012/07/25/…
Рашми Пандит
если у меня есть веб-сайт с пулом приложений и несколькими папками приложений с собственными пулами приложений, перезапустит ли веб-сайт все пулы приложений?
sonjz
Один пул приложений можно использовать для нескольких сайтов? Или это один в один?
Джеймс Вежба
5

Чтобы ответить на два других вопроса:

  • Обновление веб-сайтов просто перезагружает данные с сервера
  • Перезапустить сайт на самом деле не так много. Остановив веб-сайт, он больше не будет прослушивать запросы ни по одному из своих привязок. Повторное включение заставляет снова начать слушать. Процессы, обслуживающие веб-сайт, остаются без изменений.
Нильс Магне Лунде
источник
4

iisreset останавливается и запускает весь веб-сервер. Это все - все ваши пользователи теряют свои связи, пока это происходит.

Повторная обработка пула приложений останавливает и запускает процессы, связанные с приложениями, которые находятся в этом пуле. Строго говоря, он не имеет ничего общего с веб-сайтом (за исключением активного контента из этих приложений).

mfinni
источник
1
Как насчет обновления и перезагрузки?
jimconstable
1
Не знаю, я не очень много использовал IIS 7 и даже не имею IIS 6 передо мной. Что Помощь говорит, что они делают?
Мфинни
2

@Vlad Mucescu дал хороший ответ, но, похоже, в той части, где он описывает переработку приложения, он говорит о Overlapped Recycling. Существует два типа рециркуляции: рециркуляция процессов и вторичная переработка ( источник MSDN ):

Процесс переработки

Режим изоляции рабочих процессов предлагает повторное использование процессов, при котором IIS автоматически обновляет веб-приложения, перезапуская их рабочие процессы. Переработка процессов обеспечивает бесперебойную работу проблемных приложений и является особенно эффективным решением в тех случаях, когда невозможно изменить код приложения.
Процесс переработки, который следует за событием переработки, может происходить двумя способами.
Если рабочий процесс, в настоящее время обслуживающий пул приложений, завершается, то служба WWW (W3SVC), выступающая в качестве родительского процесса для рабочих процессов, перезапускает новый процесс вместо него.
Когда рабочий процесс завершается, новый запускается одновременно. Этот тип утилизации называется вторичной переработкой. Это значение по умолчанию для всех пулов приложений.

Перекрытая переработка

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

Михаил
источник