Пулы приложений IIS, рабочие процессы, Домены приложений



может ли кто-нибудь объяснить различия в IIS между пулами приложений, рабочими процессами и доменами приложений? Кроме того, как они работают вместе? Я прочитал пару статей, но это все еще немного сбивает с толку.




  1. каждый веб-сайт, созданный в IIS, становится приложением?

  2. связано ли каждое приложение с одним рабочим процессом?

  3. где Домены приложений входят в картину?

788   4  

4 ответов:

Я пытаюсь сказать их другими словами.

в сервере вы можете иметь много asp.net сайты, которые работают вместе. Каждый сайт является приложение домена.

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

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

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

app domains, with pools and processes

каждый рабочий процесс может иметь несколько потоков.

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

еще одно замечание. Его звуки, что когда вы делаете больше рабочем процессе тогда у вас может быть более плавная асинхронная загрузка страниц. Существует небольшая проблема с обработчиком сеанса asp.net то есть заблокировать весь процесс для загрузки страницы-это хорошо и не хорошо зависит от того, знаете ли вы его и обрабатываете - или измените его.

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

некоторые вопросы по этой теме:
веб-приложение заблокировано при обработке другого веб-приложения при совместном использовании того же сеанса
jQuery Ajax вызовы веб-службы, кажется, синхронно
ASP.NET сервер не обрабатывает страницы асинхронно
замена ASP.Net ' s сессия полностью

теперь эта блокировка сеанса не влияет на разные сайты.

среди различных сайтов более проработанный процесс может помочь не один сайт блокировать другой с длительным процессом.
Кроме того, среди различных сайтов больше пулов также может помочь, потому что каждый пул имеет по крайней мере один рабочий процесс, но помните и смотрите сами с помощью Process explorer, каждый рабочий процесс занимает больше памяти вашего компьютера, а один большой сервер с 16G памятью и один SQL server не может иметь слишком много разных рабочих процессов - например, на сервере со 100 общими сайтами вы не можете иметь 100 разных пулов.

  • один сервер IIS может иметь несколько пулов приложений.
  • одно веб-приложение привязывается к одному пулу приложений.
  • один пул приложений может иметь более одного рабочего процесса (если включен веб-сад).
  • один рабочий процесс может иметь несколько доменов приложений. Один домен приложения живет только в одном рабочем процессе.
  • один домен приложения может иметь множество потоков. Один поток может быть общим для разных доменов приложений в разных время.

значение для ASP.NET разработчики: чтобы сделать ваш веб-сайт масштабируемым, не используйте сеанс in-proc и не используйте статическую блокировку переменных класса для синхронизации.

  1. да, хотя не каждое приложение является веб-сайтом. Вы можете иметь приложение, которое является вложенным под веб-сайт.

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

  3. каждый процесс выполняется в своем собственном приложении домен (каждый пул приложений является отдельным доменом приложений).


от MSDN.

создать веб-приложение:

приложение-это группировка контента на корневом уровне веб-сайта или группировка контента в отдельной папке в корневом каталоге веб-сайта.

Пулы Приложений:

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

из исходного ссылке:-http://в блогах.АСП.сеть/owscott/архив/2007/09/02/применение-против-домен.аспн

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

домен приложений-это термин .NET. (В IIS7 Домены приложений играют большую роль в IIS, но по большей части это ASP.NET термин)

рабочий процесс используется для обработки запроса веб-приложения.

Comments

    Ничего не найдено.