Что такое переработка рабочего процесса...?

  • Я хотел бы знать, что такое утилизация рабочего процесса?
  • Что именно он делает во время рециркуляции рабочего процесса?
  • Рабочий процесс находится в пуле приложений и может быть настроен через пул приложений?
  • Является ли этот пул приложений ответственным переработать рабочий процесс? или IIS отвечает за его переработку?
  • Что происходит во время процесса рециркуляции?
  • Какое влияние не заставляет его перерабатывать?

Ответ 1

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

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

Когда начнется период рециркуляции, IIS перестает отправлять новые запросы службы процессу умирания и позволяет ему завершить все, что он делает нормально. Он запустит новый процесс замещения заранее и начнет отправлять новые запросы к этому, пока старый закончит. Когда ничего не осталось для старого процесса, он обычно заканчивается.

Рабочие процессы изолированы для данного пула приложений, так как IIS выполняет изолирование процесса. (Вот почему, например, вы можете смешивать версии .NET Framework на одном сервере - каждый пул приложений получает свои собственные загруженные библиотеки Framework отдельно от других.) Пул приложений определяет другие вещи о рабочих процессах, включая их учетные данные и как долго процесс остается вокруг до закрытия.

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

Ответ 2

Реализация рабочего процесса просто означает перезапуск рабочего процесса asp.net(aspnet_wp.exe). Это было сделано по различным причинам. В следующей статье описываются вещи довольно прилично. http://technet.microsoft.com/en-us/library/cc759005(WS.10).aspx

Пожалуйста, пройдите через него.

Ответ 3

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