Что такое пул приложений
Параметры IIS
Работа с пулами приложений
файла machine.config вы будете настраивать их в каждом пуле приложений сервера.
Управление пулами приложений
Для быстрого создания и удаления пулов приложений на сервере используйте инструмент администрирования IIS. Ниже приведена процедура добавления к серверу нового пула приложений.
Будет создан новый пул приложений, вы можете его настраивать и добавлять в него новые приложения.
Настройка пулов приложений
Пулы приложений имеют большое количество параметров для настройки поведения рабочих процессов пула. Чтобы получить доступ к этим параметрам, щелкните правой кнопкой мыши на пуле приложений и выберите пункт Properties (Свойства). Появится диалоговое окно Default AppPool Properties (Свойства AppPool по умолчанию), показанное на рис. 8.5.
Данная вкладка содержит параметры, управляющие «переработкой» рабочих процессов (см. табл. 8.1).
Параметр | Описание |
---|---|
Recycle worker processes (in minutes) (Перезапускать рабочие процессы через [мин]) | Указывает, что рабочие процессы будут автоматически очищаться каждые Х минут, где Х – число, введенное в текстовом поле. |
Recycle worker process (number of requests) (Перезапускать рабочие процессы [число запросов]) | Указывает, что каждый рабочий процесс будет автоматически очищаться после того, как обработает Х запросов, где Х – число запросов, введенное в текстовом поле. |
Recycle worker processes at the following times (Перезапускать рабочие процессы в указанное время) | Указывает, что рабочие процессы будут автоматически очищаться при наступлении заданного в текстовом поле времени. Это очень полезно, если вы знаете, когда ожидается снижение нагрузки на ваше приложение, чтобы рабочий процесс был очищен, не создавая при этом неудобств пользователям. |
Maximum virtual memory (in megabytes ) (Максимальное количество виртуальной памяти, в Мб) | Указывает, что каждый рабочий процесс, использующий виртуальной памяти больше заданного здесь значения, будет автоматически очищен. |
Maximum used memory (in megabytes ) (Максимальный размер используемой памяти, в Мб) | Указывает, что каждый рабочий процесс, использующий физической памяти больше заданного здесь значения, будет автоматически очищен. |
Эти параметры гарантируют, что ни один процесс не заберет себе все ресурсы памяти сервера. Они также используются для периодического перезапуска процессов, которые могут приводить к утечкам памяти или захватывают слишком много памяти.
Вкладка Performance (Производительность) диалогового окна свойств пула приложений содержит параметры, управляющие производительностью пула приложений и запущенных в нем рабочих процессов (рис. 8.6).
Вероятно, наиболее важными параметрами здесь являются настройки веб-сада, позволяющие создавать и использовать несколько рабочих процессов для данного пула приложений.
Вкладка Health (Работоспособность) диалогового окна свойств пула приложений содержит параметры, относящиеся к состоянию рабочего процесса (рис. 8.7).
Что такое пул приложений IIS?
Что такое пул приложений? Какова его цель?
14 ответов
пулы приложений позволяют изолировать приложения друг от друга, даже если они запущены на одном сервере. Таким образом, если в одном приложении есть ошибка, она не будет снимать другие приложения.
кроме того, пулы приложений позволяют разделять различные приложения, которые требуют различных уровней безопасности.
в принципе, пул приложений-это способ создания отсеков на веб-сервере через границы процессов и маршрутизации наборов URL-адресов для каждого из этих отсеков. Смотри здесь подробнее: http://technet.microsoft.com/en-us/library/cc735247(РВ.10).аспн
Я второй топ проголосовал ответ, но чувствую, как добавить немного больше деталей здесь, Если кто-то находит это полезным.
короткая версия :
больше вариант:
каждый веб-сайт или часть веб-сайта можно запустить в пуле приложений.Вы можете управлять некоторыми базовыми настройками веб-сайта с использованием пула приложений.
надеюсь, что это помогает!
пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Любой веб-каталог или виртуальный каталог можно назначить пулу приложений.
каждое приложение в пуле приложений использует один и тот же рабочий процесс.
предположим, сценарий, где пловцы плавают в бассейне в зонах, зарезервированных для них.что произойдет,если пловцы будут плавать в других местах, кроме отведенных для них, все это станет беспорядком.аналогично iis использует пулы приложений для отделения одного процесса от другого.
IIS предоставляет два пула приложений (путь) для запуска двух веб-сайтов в своем собственном мире (данные) плавно на одном веб-сервере, не затрагивая каждый из них (безопасность, масштабируемость).Это пул приложений в IIS.
Так что вы можете иметь любое количество пула приложений в зависимости от мощности сервера
пул приложений-это группа URL-адресов, обслуживаемых рабочими процессорами или набором рабочих процессоров.
может существовать любое количество пулов приложений.
в IIS можно создать несколько пулов приложений.
приложение в другом пуле приложений работает в разных рабочих процессорах.
Advantage: если ошибка произошла в одном пуле приложений не повлияет на приложения, запущенные в другом приложении бассейн.
пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Пулы приложений используются для разделения наборов рабочих процессов IIS, имеющих общую конфигурацию и границы приложений. Пулы приложений используются для изоляции нашего веб-приложения для повышения безопасности, надежности, доступности и производительности, и они продолжают работать, не влияя друг на друга.
пулы приложений используются для разделения набора рабочих процессов IIS с одинаковой конфигурацией. Пулы приложений позволяют изолировать наше веб-приложение для повышения безопасности, надежности и доступности
пулы приложений используются для разделения наборов рабочих процессов IIS с одинаковыми границами конфигурации и приложений.
или мы можем просто сказать, что пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Любой веб-каталог или виртуальный каталог можно назначить пулу приложений. Так что один веб-сайт не может быть затронут другим, если u использовал отдельный пул приложений.
пул приложений представляет собой набор приложений, использующих один и тот же рабочий процесс IIS (w3wp.исполняемый.) Основная задача использования пула приложений-изолировать два разных приложения с различными проблемами безопасности, а также избежать сбоев приложений из-за смерти рабочего процесса.
элемент пулы приложений содержит параметры конфигурации для всех пулов приложений, запущенных в IIS. Пул приложений определяет группу из одного или нескольких рабочих процессов, настроенных с общими параметрами, которые обслуживают запросы к одному или нескольким приложениям, назначенным этому пулу приложений.
поскольку пулы приложений позволяют набору веб-приложений совместно использовать один или несколько одинаково настроенных рабочих процессов, они предоставляют удобный способ изолировать набор Веб-приложения из других веб-приложений на компьютере сервера.
границы процессов разделяют каждый рабочий процесс; поэтому проблемы приложений в одном пуле приложений не влияют на веб-сайты или приложения в других пулах приложений. Пулы приложений значительно повышают надежность и управляемость веб-инфраструктуры.
пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Пулы приложений используются для разделения наборов рабочих процессов IIS, имеющих общую конфигурацию и границы приложений.
Что такое пул приложений IIS?
Что такое пул приложений? Какова его цель?
15 ответов
Пулы приложений позволяют изолировать приложения друг от друга, даже если они работают на одном сервере. Таким образом, если в одном приложении есть ошибка, другие приложения не будут отключены.
Кроме того, пулы приложений позволяют разделять разные приложения, требующие разных уровней безопасности.
Я второй ответ, получивший наибольшее количество голосов, но хочу добавить сюда немного дополнительных деталей, если кто-то сочтет это полезным.
Более длинная версия:
Каждый веб-сайт или его часть можно запускать в составе пула приложений. Вы можете управлять некоторыми базовыми настройками веб-сайта с помощью пула приложений.
Каждое приложение в пуле приложений использует один и тот же рабочий процесс.
Предположим, что пловцы плавают в бассейне в отведенных для них областях. Что произойдет, если пловцы будут плавать не в отведенных для них областях, все станет беспорядком. Аналогичным образом iis использует пулы приложений, чтобы отделить один процесс от другого.
Теперь веб-сервер является хостингом, то есть предоставляет память для работы обоих веб-сайтов на одном веб-сервере. Таким образом, здесь появляются пулы приложений. abc.com имеет свои собственные правила, бизнес-логику, данные и т. д., и то же самое относится к xyz.com.
IIS предоставляет два пула приложений (путь) для плавного запуска двух веб-сайтов в их собственном мире (данных) на одном веб-сервере, не затрагивая каждый из них (безопасность, масштабируемость). Это пул приложений в IIS.
Таким образом, вы можете иметь любое количество пулов приложений в зависимости от мощности серверов.
Может существовать любое количество пулов приложений.
В IIS можно создать более одного пула приложений.
Приложение в другом пуле приложений работает на разных рабочих процессорах.
Преимущество: если ошибка произошла в одном пуле приложений, это не повлияет на приложения, работающие в другом пуле приложений.
Пулы приложений используются для разделения наборов рабочих процессов IIS, которые имеют одинаковую конфигурацию и границы приложений.
Пулы приложений, используемые для изоляции нашего веб-приложения для повышения безопасности, надежности, доступности и производительности, и продолжают работать, не влияя друг на друга. Рабочий процесс служит границей процесса, которая разделяет каждый пул приложений, так что, когда один рабочий процесс или приложение имеет проблему или выполняет повторную обработку, другие приложения или рабочие процессы не затрагиваются. Один пул приложений также может иметь несколько рабочих процессов.
Пулы приложений используются для разделения набора рабочих процессов IIS с одинаковой конфигурацией. Пулы приложений позволяют нам изолировать наше веб-приложение для повышения безопасности, надежности и доступности.
Элемент «Пулы приложений» содержит параметры конфигурации для всех пулов приложений, работающих на вашем IIS. Пул приложений определяет группу из одного или нескольких рабочих процессов, настроенных с общими параметрами, которые обслуживают запросы к одному или нескольким приложениям, назначенным этому пулу приложений.
Поскольку пулы приложений позволяют набору веб-приложений совместно использовать один или несколько аналогичным образом настроенных рабочих процессов, они предоставляют удобный способ изолировать набор веб-приложений от других веб-приложений на сервере.
Границы процессов разделяют каждый рабочий процесс; поэтому проблемы приложений в одном пуле приложений не влияют на веб-сайты или приложения в других пулах приложений. Пулы приложений значительно повышают надежность и управляемость вашей веб-инфраструктуры.
Пул приложений обеспечивает изоляцию вашего приложения. и увеличьте доступность вашего приложения, потому что каждый пул работает в своем собственном процессе, поэтому ошибка в одном приложении не вызовет другой пул приложений. И у нас есть общий пул, в котором размещено несколько веб-приложений, работающих под ним, и выделенный пул, в котором работает одно приложение.
Application Pool Identities в IIS
Каждый пул приложений в IIS использует свой собственный рабочий процесс (IIS Worker Process). Удостоверение пула приложений (Application Pool Identities) представляет из себя имя учетной записи, под которой выполняется рабочий процесс этого пула.
В IIS 6.0 и IIS 7.0 пул приложений по умолчанию работал под встроенной системной учетной записью NetworkService. Эта запись не требует пароля и имеет на локальном компьютере ограниченные права, что является хорошей практикой с точки зрения безопасности. Однако под этой учетной записью могут одновременно работать разные системные службы Windows, и при использовании одного и того же идентификатора одни службы могут воздействовать на работу других.
Начиная с Windows Server 2008 SP2 для того, чтобы изолировать рабочие процессы IIS от других системных служб, можно использовать виртуальные учетные записи (Virtual Accounts). Они позволяют запускать рабочий процесс для каждого пула приложений под собственной уникальной учетной записью ApplicationPoolIdentity. Эта учетная запись не требует управления и создается автоматически при создании каждого нового пула. Также она не имеет практически никаких привилегий в системе и не использует профиль пользователя, что повышает безопасность веб-сервера.
Для примера возьмем Application Pool с именем PubSite1. Открываем Task Manager и находим рабочий процесс IIS (w3wp.exe), выполняющийся от имени PubSite1. Как видите, имя учетной записи совпадает с именем пула приложений. Дело в том, что начиная с IIS 7.5 для каждого вновь созданного пула приложений по умолчанию создается виртуальная учетная запись с именем этого пула, и его рабочий процесс запускается из под этой записи.
Настройка типа удостоверения пула приложений
При необходимости тип идентификации пула приложений можно изменить. Для этого запускаем IIS Manager, переходим в раздел Application Pools, выбираем нужный пул и открываем его свойства (Advanced Settings).
В свойствах выбираем пункт Identity.
Здесь мы указываем учетную запись, от имени которой будет работать данный пул приложений:
• ApplicationPoolIdentity — учетная запись удостоверения пула приложений. Создается автоматически при запуске пула приложений и имеет самые минимальные права на локальном компьютере. Это наиболее безопасный вариант, начиная с IIS 7.5 используется по умолчанию;
• LocalService – встроенная учетная запись, которая имеет ограниченные права на локальном компьютере. Примерно то же самое, что и NetworkService, но ограничена только локальным компьютером;
• LocalSystem – системная учетная запись, имеющая неограниченные права на локальном компьютере. Наименее безопасный вариант, по возможности не рекомендуется ее использовать;
• NetworkService — учетная запись, которая имеет ограниченные права на локальном компьютере, а также может использоваться для доступа к ресурсам в сети Active Directory на основании учетной записи компьютера.
Кроме того, в качестве удостоверения можно использовать и обычную учетную запись пользователя. Для этого надо выбрать Custom Account, нажать кнопку Set и ввести имя пользователя и пароль. Можно указать любого доменного или локального пользователя.
Примечание. При использовании учетной записи пользователя надо отслеживать срок действия пароля и своевременно менять его.
То же самое можно сделать с помощью утилиты командной строки appcmd. Чтобы указать учетную запись, которая будет использоваться для пула приложений, используется следующий синтаксис:
appcmd set config /section:applicationpools /[name=″имя пула приложений″].processModel.identityType:SpecificUser|NetworkService|LocalService|LocalSystem
Для примера изменим тип удостоверения для пула приложений PubSite1 на NetworkService:
appcmd set config /section:applicationpools
/[name=″PubSite1″].processModel.identityType:NetworkService
Профиль пользователя
Если вы хотите настроить ApplicationPoolIdentity на использование пользовательского профиля, то надо зайти в расширенные свойства пула и перевести параметр Load User Profile в состояние True.
Настройка доступа к ресурсам
Иногда веб-приложению может потребоваться доступ к определенной папке или файлу на диске. Чтобы добавить ApplicationPoolIdentity в Access Control List (ACL):
• Запускаем Windows Explorer;
• Выбираем нужный файл или директорию, кликаем по ней правой клавишей мыши и выбираем пункт Свойства (Properties);
• Переходим на вкладку Безопасность (Security),
• Кликаем по кнопке Изменить (Edit), затем Добавить (Add);
• В поле Размещение (Locations) выбираем локальную машину;
• Вводим имя пользователя в виде ″IIS AppPool\имя пула приложений″. Так для пула приложений PubSite1 имя пользователя будет выглядеть ″IIS AppPool\PubSite1″;
• Проверяем имя клавишей Проверить имена (Check Names) и жмем ОК.
Также при желании можно воспользоваться утилитой командной строки ICACLS. Для примера дадим права на изменение для PubSite1:
ICACLS C:\Web\Pubsite1 /grant ″IIS AppPool\PubSite1″:M
Список разрешений выглядит следующим образом:
D – удаление;
F – полный доступ;
M – изменение;
RX – чтение и выполнение;
R – чтение;
W – запись.
Если ресурс находится в сети, то для доступа к нему лучше всего использовать учетную запись NetworkService. Рабочий процесс, запущенный под этим аккаунтом, для доступа к ресурсам использует учетные данные компьютера, сгенерированные при добавлении компьютера в домен. Для того, чтобы дать процессу доступ к сетевому ресурсу, в качестве пользователя указываем компьютер:
• Выбираем тип объекта (Object Type) Computers;
• В поле Размещение (Locations) выбираем домен;
• Вводим имя пользователя в виде domainname\machinename$, например contoso\SRV12$;
• Проверяем имя и жмем ОК.
Очень удобный способ предоставлять доступ к сетевым ресурсам типа файловых шар или баз данных SQL Server. Однако работает он только при наличии домена AD.
ОГЛАВЛЕНИЕ
Пул приложений
Это одна из самых важных вещей, которую вы должны создать для вашего собственного приложения в среде Производства. Пулы приложений служат для выделения групп рабочих процессов IIS, имеющих одинаковую конфигурацию. Пулы приложений позволяют изолировать веб-приложение ради лучшей защиты, надежности и работоспособности. Рабочий процесс служит в качестве границы процессов, отделяющей каждый пул приложений, чтобы сбой или перезапуск одного рабочего процесса или приложения не влиял на другие приложения или рабочие процессы.
Стандартный пул приложений
Появится следующий экран. Сейчас свойства виртуальной директории показывают имя пула приложений, назначенного выбранному сайту.
Чтобы проверить список всех пулов приложений в IIS, разверните Узел пула приложений на сервере IIS.
Рисунок. Стандартный пул приложений
Теперь все до единого пулы приложений должны иметь минимум один рабочий процесс, следящий за работой сайта, связанного с пулом приложений. Щелкните правой кнопкой мыши по пулу приложений – перейдите во вкладку производительности, проверьте нижнюю часть вкладки, там есть раздел сетевого сада, и по умолчанию рабочий процесс равен 1. Пул приложений, содержащий более одного рабочего процесса, называется Web Garden(сетевой сад).
Создание и назначение пула приложений
Откройте консоль IIS, щелкните правой кнопкой мыши по папке пула приложений > Создать New(новый)
Введите Идентификатор пула приложений и нажмите Ok.
Теперь щелкните правой кнопкой мыши по Виртуальной директории и назначьте только что созданное приложение этой Виртуальной директории.
Итак, эти веб-сайты будут запускаться независимо в StateServerAppPool. Следовательно, любая проблема, связанная с другим приложением, не влияет на ваше приложение. Это основные преимущества создания пула приложений отдельно.
Как начать?
Все сказанное до сих пор уже дает вам хорошее представление о рабочем процессе и пуле приложений. Вы должны понять их, прежде чем начинать следующую часть. Теперь покажем способ отладки сайта, размещенного на сервере IIS.
Был создан один веб-сайт под именем sampleWebSite и размещен на локальном IIS. Ниже показан вывод страницы по умолчанию.
Рисунок. Пример веб-сайта
Какой процесс прикрепить?
Рисунок. Менеджер задач показывает выполняющийся процесс
Теперь прикрепим процесс. Перейдите в Отладка > Прикрепиться к процессу
Рисунок. Открыть окно прикрепления процесса
После нажатия на Прикрепиться к процессу появится следующий экран,
Рисунок. Выполняется один рабочий процесс
Теперь видно, что выполняется тот же самый рабочий процесс. Надо прикрепить этот процесс. Выберите «Процесс» и нажмите кнопку «Прикрепить». После проверки двух рисунков ниже
Рисунок: 1) Процесс успешно прикреплен 2) Процесс не прикреплен
Заметили ли вы знак точки останова? Если рабочий процесс прикрепился успешно, знак точки останова выполнения кода должен быть четким, в противном случае он должен иметь предупреждающую иконку. Для одного рабочего процесса сценарий не свойствен. Но если на IIS выполняется несколько рабочих процессов, возникает беспорядок. Это рассмотрено в следующем разделе.
Теперь при нажатии на кнопку отладки веб-страницы выполнение кода остановится в точке останова.
Теперь рассмотрим случай, когда выполняется несколько рабочих процессов