Application Pools Overview
You can choose to use the default application pool provided by IIS on install, or you can create your own application pool. You can run as many application pools on your IIS 7 and later server as you need, though this can affect server performance. Application pools can contain one or more worker processes. Each worker process represents work being done for a Web site, Web application, or Web service. You can create a Web garden by enabling multiple worker processes to run in a single application pool.
New in IIS 7.5 and later
Starting in IIS 7.5, you can configure an application to start automatically by using the managedRuntimeLoader, CLRConfigFile, and startMode attributes of the element. These attributes configure, respectively, the name of the managed DLL that provides runtime loading for your application, the common language runtime configuration file for the application, and the startup type for the application.
Also new in IIS 7.5 and later is a new ApplicationPoolIdentity type for the identityType attribute of the
element. This new identity type is now the default process identity for applications, and makes it possible to set the security for your content areas to allow access for a specific application pool. To do so, you would set your security using the name of an application pool by using syntax like «IIS AppPool\DefaultAppPool.» This identity is created dynamically, thereby dramatically reducing the surface attack area of your server.
Элемент (веб-параметры)
задает параметры конфигурации, используемые ASP.NET для управления поведением на уровне процесса, когда ASP.NET приложение выполняется в интегрированном режиме в IIS 7,0 или более поздней версии.
этот элемент и функция, которые он поддерживает, работают только в том случае, если приложение ASP.NET размещено в IIS 7,0 или более поздних версиях.
Синтаксис
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
| Атрибут | Описание |
|---|---|
| maxConcurrentRequestsPerCPU | указывает, сколько одновременных запросов ASP.NET разрешено для каждого цп. |
| maxConcurrentThreadsPerCPU | Указывает, сколько одновременных потоков может выполняться для пула приложений для каждого ЦП. это предоставляет альтернативный способ управления параллелизмом ASP.NET, так как можно ограничить количество управляемых потоков, которые могут использоваться на каждом цп для обслуживания запросов. по умолчанию этот параметр равен 0. это означает, что ASP.NET не ограничивает количество потоков, которые могут быть созданы для каждого цп, хотя пул потоков CLR также ограничивает количество потоков, которые могут быть созданы. |
| requestQueueLimit | указывает максимальное количество запросов, которые могут быть поставлены в очередь для ASP.NET в одном процессе. если в одном пуле приложений работает два или более ASP.NET приложений, то этот параметр подлежит совокупному набору запросов, выполняемых в любом приложении в пуле приложений. |
Дочерние элементы
Родительские элементы
| Элемент | Описание |
|---|---|
| содержит сведения о том, как ASP.NET взаимодействует с ведущим приложением. |
Комментарии
при запуске IIS 7,0 или более поздней версии в интегрированном режиме это сочетание элементов позволяет настроить, как ASP.NET управляет потоками и помещает запросы в очередь, когда приложение размещается в пуле приложений IIS. При запуске IIS 6 или IIS 7,0 в классическом режиме или в режиме ISAPI эти параметры игнорируются.
при запуске IIS 7,0 на Windows 7 можно настроить отдельный файл aspnet.config для каждого пула приложений. Это позволяет адаптировать производительность потоков для каждого пула приложений.
Пример
в следующем примере показано, как настроить ASP.NET поведение на уровне процесса в файле aspnet.config в следующих случаях.
Приложение размещается в пуле приложений IIS 7,0.
IIS 7,0 работает в интегрированном режиме.
Значения в примере являются значениями по умолчанию.
Что такое пул приложений 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?
Что такое пул приложений? Какова его цель?
14 ответов:
пулы приложений позволяют изолировать приложения друг от друга, даже если они запущены на одном сервере. Таким образом, если есть ошибка в одном приложении, он не будет снимать другие приложения.
кроме того, пулы приложений позволяют разделять различные приложения, которые требуют различных уровней безопасности.
в принципе, пул приложений-это способ создания отсеков на веб-сервере через границы процессов и наборы маршрутов URL-адресов для каждого из этих отсеков. Смотри здесь подробнее: http://technet.microsoft.com/en-us/library/cc735247(РВ.10).аспн
Я второй топ проголосовал ответ, но чувствую, что добавить немного больше деталей здесь, если кто-то находит это полезным.
короткая версия :
IIS запускает любой веб-сайт, настроенный в процессе с именем w3wp.исполняемый. сервер IIS Пул приложений-это функция в IIS, которая позволяет каждому веб-сайту или части из него для запуска под соответствующим w3wp.процесс exe. Так что вы можете запустить 100 веб-сайтов все в одном w3wp.exe или 100 различных w3wp.исполняемый. Например. прогон 3 сайтов в одном пул приложений (тот же w3wp.exe) для экономии памяти использование. запустите 2 разных веб-сайта в двух разных пулах приложений, чтобы что каждый может работать под отдельной учетной записью пользователя(так называемый пул приложений идентичность.) запуск веб-сайта в одном пуле приложений и дочернем сайте «веб-сайт / приложение» в другом пуле приложений.
больше вариант:
каждый веб-сайт или часть веб-сайта,вы можете запустить под пулом приложений.Вы можете управлять некоторыми основными настройками веб-сайта с использованием пула приложений.
надеюсь, что это помогает!
пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Любой веб-каталог или виртуальный каталог можно назначить пулу приложений.
каждое приложение в пуле приложений использует один и тот же рабочий процесс.
предположим, сценарий, где пловцы плавают в бассейне в областях, зарезервированных для них.что произойдет,если пловцы будут плавать за пределами отведенных для них областей, все это станет беспорядком.аналогично iis использует пулы приложений для отделения одного процесса от другого.
IIS предоставляет два пула приложений (путь) для запуска двух веб-сайтов в своем собственном мире (данные) плавно на одном веб-сервере, не затрагивая каждый из них (безопасность, масштабируемость).Это пул приложений в IIS.
Так что вы можете иметь любое количество пула приложений в зависимости от мощности сервера
пул приложений-это группа URL-адресов, обслуживаемых рабочими процессорами или набором рабочих процессоров.
может существовать любое количество пулов приложений.
в IIS можно создать несколько пулов приложений.
приложение в другом пуле приложений выполняется в разных рабочих процессорах.
преимущество: если ошибка произошла в одном пуле приложений не повлияет на приложения, запущенные в другом приложении бассейн.
пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Пулы приложений используются для разделения наборов рабочих процессов IIS, имеющих общую конфигурацию и границы приложения. Пулы приложений используются для изоляции нашего веб-приложения для повышения безопасности, надежности, доступности и производительности, и они продолжают работать, не влияя друг на друга.
пулы приложений используются для разделения набора рабочих процессов IIS, имеющих общую конфигурацию. Пулы приложений позволяют нам изолировать наше веб-приложение для повышения безопасности, надежности и доступности
пулы приложений используются для разделения наборов рабочих процессов IIS, имеющих общую конфигурацию и границы приложения.
или мы можем просто сказать, что пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Любой веб-каталог или виртуальный каталог можно назначить пулу приложений. Так что один сайт не может быть затронут другим, если u использовал отдельный пул приложений.
пул приложений-это набор приложений, использующих один и тот же рабочий процесс IIS (w3wp.исполняемый.) Основная задача использования пула приложений-изолировать два разных приложения с различными проблемами безопасности, а также избежать сбоев приложений из-за смерти рабочего процесса.
элемент пулы приложений содержит параметры конфигурации для всех пулов приложений, запущенных в IIS. Пул приложений определяет группу из одного или нескольких рабочих процессов, настроенных с общими параметрами, которые обслуживают запросы к одному или нескольким приложениям, назначенным этому пулу приложений.
поскольку пулы приложений позволяют набору веб-приложений совместно использовать один или несколько одинаково настроенных рабочих процессов, они обеспечивают удобный способ изолировать набор Веб-приложения из других веб-приложений на компьютере сервера.
границы процессов разделяют каждый рабочий процесс; поэтому проблемы приложений в одном пуле приложений не влияют на веб-сайты или приложения в других пулах приложений. Пулы приложений значительно повышают надежность и управляемость веб-инфраструктуры.
пул приложений-это группа, состоящая из одного или нескольких URL-адресов, обслуживаемых рабочим процессом или набором рабочих процессов. Пулы приложений используются для разделения наборов рабочих процессов IIS, имеющих общую конфигурацию и границы приложения.











