Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Служба активации процессов Windows (WAS) IIS 7 — это ключевой компонент, который предоставляет функции модели обработки и конфигурации для веб-приложений и веб-служб. Основная задача WAS — управлять пулами приложений. Пулы приложений — это контейнеры конфигурации, представляющие среду размещения для групп URL-адресов.
Когда HTTP-клиент запрашивает URL-адрес HTTP.SYS сопоставляет запрос с очередью запросов пула приложений. Рабочий процесс для очереди запросов пула приложений создается с помощью WAS, и рабочий процесс выполняет код, необходимый для отправки ответа. Одна из основных задач WAS заключается в том, чтобы управлять рабочими процессами, которые он породил, т. е. WAS отслеживает их работоспособность, перезапускает их при необходимости и гарантирует, что ни один из них не потребляет больше ресурсов, чем указано в соответствующей конфигурации AppPool. WAS также является регулятором и сборщиком данных времени исполнения и состояния, например, счетчиков производительности, состояния сайта и пула приложений.
Схема архитектуры
Функции модели обработки
Поддержка 10000 или более веб-сайтов для размещения на одном физическом компьютере является основным требованием для современных сред массового размещения. Код, выполняемый на этих веб-сайтах, обычно не хорошо протестирован, если вообще. Для поддержки этих требований WAS необходимо обеспечить мощную модель обработки и эффективное управление ресурсами.
Эффективное управление ресурсами
Активация по запросу
Ресурсы, такие как ОЗУ и ЦП, ограничены в сценариях с несколькими клиентами. WAS запустит рабочий процесс IIS только один раз, когда запросы для конкретного веб-сайта или веб-приложения прибывают.
Время ожидания простоя
Поскольку ресурсы обычно ограничены, WebSphere Application Server (WAS) может завершать работу веб-приложений на основе настраиваемого времени простоя.
Мониторинг состояния здоровья
Чтобы обеспечить их работоспособность, WAS отслеживает порожденные им рабочие процессы. Сообщения о работоспособности периодически отправляются каждому работающему рабочему процессу. Если рабочий процесс не отвечает в настраиваемом интервале времени, рабочий процесс будет перезапущен или завершен. Таким образом, незамеченные взаимоблокировки в рабочих процессах автоматически исправляются путем перезапуска рабочего процесса.
Ограничение запуска
Часть функции защиты Rapid-Fail является ограничением запуска. Если рабочий процесс не сообщает обратно WAS в пределах настраиваемого предела времени запуска, процесс будет остановлен, а счетчик защиты от быстрого отказа увеличивается. Пулы приложений останавливаются, т.е. перезапуск рабочего процесса больше не будет выполняться, если счетчик защиты от быстрого сбоя достигает настраиваемого предела в течение заданного времени. Это предотвращает сценарии, когда рабочие процессы зависают или завершаются аварией во время запуска.
Ограничение выключения
Рабочий процесс также должен завершать работу в рамках настраиваемого временного предела. Если завершение работы не произойдет в это время, рабочий процесс будет завершен службой WAS. Это предотвращает чрезмерное использование ресурсов из-за процессов, которые зависают на этапе завершения работы. Дополнительные параметры завершения работы позволяют запускать исполняемый файл (например, отладчик), когда завершение работы не завершается в течение выделенного времени.
Сходство ЦП
Параметры конфигурации позволяют WAS запускать рабочие процессы, которые связываются с одним или несколькими центральными процессорами. Это предотвращает вмешательство арендаторов друг в друга, если они используют одну и ту же физическую машину.
Профиль пользователя
WAS может запускать рабочие процессы с или без загрузки профиля пользователя.
Безопасность
Идентификация пула приложений
Рабочие процессы IIS могут выполняться как под пользовательской учетной записью, встроенной учетной записью (LocalService, LocalSystem, NetworkService) или удостоверением пула приложений (по умолчанию). Использование удостоверения пула приложений рекомендуется, так как не требуется управление паролями, а удостоверения пула приложений уже встроены в принцип наименьших привилегий. Встроенные учетные записи также не требуют управления паролями. Если используется настраиваемое удостоверение пользователя, пароль автоматически шифруется. Параметры конфигурации можно реплицировать на нескольких компьютерах, предоставляя доступ к ключам шифрования конфигурации на компьютерах.
Функции объекта задания
Объекты заданий позволяют администраторам ограничивать рабочие процессы определенным ограничением ЦП. Настраиваемое действие выполняется, если превышено это ограничение ЦП. Объекты заданий также убедятся, что процессы, созданные вспомогательным процессом, завершаются.
Изоляция и безопасность конфигурации
Перед запуском пула приложений и рабочего процесса он создает уникальный файл конфигурации для этого пула приложений. Пулы приложений также имеют параметры конфигурации для запуска пулов приложений под уникальными удостоверениями. Изоляция может быть достигнута, даже если используется одна и та же идентификация. WAS создает уникальный идентификатор безопасности (SID) для каждого пула приложений. Затем файл конфигурации пула приложений защищен с помощью этого уникального SID. Это гарантирует, что файлы конфигурации пула приложений могут читаться только администраторами и самим пулом приложений. Даже разрешения файлов можно настроить с помощью этого уникального идентификатора безопасности.
Диагностика и мониторинг
Ведение журнала событий
События, касающиеся недопустимой конфигурации, перезапуска, запуска или завершения рабочих процессов, передаются в системный журнал событий.
В настоящее время выполняются запросы
WAS предоставляет интерфейс управления временем выполнения и состоянием, который позволяет скриптам и средствам запрашивать запросы, выполняемые в настоящее время определенного рабочего процесса. Это полезно, чтобы найти запросы, которые задерживаются или занимают очень много времени на выполнение.
Счетчики производительности
Все счетчики производительности IIS проходят через WAS. WAS собирает эти счетчики производительности, так как счетчики IIS привязаны к сайтам, а веб-приложения могут размещаться в разных пулах приложений.
Переработка
Переработка позволяет обновлять рабочие процессы без потери одного запроса из-за простоя. Это делается с помощью функции, называемой "перекрывающейся переработкой".
Совмещение процессов переработки
ЭТО делается путем создания нового рабочего процесса параллельно с старым, который по-прежнему обрабатывает запросы. После того как новый рабочий процесс будет запущен, он начинает обрабатывать запросы из очереди, а старому рабочему процессу даётся команда от WAS прекратить обрабатывать запросы. Когда старый рабочий процесс завершит выполнение всех обрабатываемых запросов, он прекращает работу. Эта функция называется "перекрывающейся переработкой". Это гарантирует, что запросы не будут потеряны во время перезапуска.
Конфигурация повторного использования
Параметры перезапуска настраиваются в системе конфигурации IIS.
Запланированное повторное использование
Клиенты могут захотеть обновлять свои приложения по регулярному графику. С помощью параметров конфигурации повторное использование можно периодически планировать, например каждые 4 часа, каждый день в 1 утра и т. д.
Переработка на основе потребления памяти
Приложения могут вызывать утечку памяти с течением времени. WAS может отслеживать потребление памяти для каждого рабочего процесса, чтобы гарантировать, что рабочий процесс не использует больше, чем предварительно настроенное ограничение. Достижение заданного порога виртуальной или частной памяти приведет к перезапуску рабочего процесса.
Переработка на основе количества запросов
Повторное использование можно также настроить на основе количества запросов, обрабатываемых конкретным рабочим процессом.
Настраиваемая переработка
Пользовательский код может настроить настраиваемую статистику работоспособности и запустить повторную инициализацию с помощью вызова API в среде выполнения WAS и состояния API.
Осиротевший процесс
Некоторые ошибки происходят только в рабочей среде. Принудительное завершение рабочих процессов обеспечивает время бесперебойной работы системы, но устранение этих ошибок становится сложной задачей, например, если сбойный рабочий процесс нуждается в отладке. Функция изоляции процесса в WAS позволяет перезапускать рабочие процессы без завершения неудачного рабочего процесса. Теперь к ней можно подключить отладчик. Дополнительные параметры потерянных процессов позволяют выполнять процесс (например, отладчик), если происходит потерянный режим.
Управление состоянием пула приложений
Пулы приложений могут быть остановлены, перезапущены или запущены через общедоступные API, например, если приложение необходимо отключить или если необходимо выполнить перезапуск на основе параметров, отличных от тех, которые можно настроить в файле applicationhost.config.
Дополнительные функции WAS
функции балансировщика нагрузки
HTTP.SYS по-прежнему прослушивает сеть и возвращает сообщение об ошибке HTTP 500, если запросы не обрабатываются пулом приложений. Это проблема, так как для подсистем балансировки нагрузки уровня 5 (TCP/IP) ошибка HTTP 500 выглядит как допустимое подключение TCP/IP. Параметр конфигурации WAS может позволить HTTP.SYS отклонять подключения, вместо того чтобы отправлять HTTP-ответы.
Параметр WAS можно настроить для запуска рабочих процессов с помощью следующих параметров:
Поддержка WoW64
WAS может запускать 32-разрядные или 64-разрядные рабочие процессы.
Предварительная загрузка .NET Framework
Для предварительной загрузки конкретной версии .NET Framework можно настроить параметр WAS. Это упрощает устранение неполадок конфликтов версий.
Веб-сады
Веб-сад — это термин, обозначающий пул приложений, который работает с несколькими рабочими процессами. Запросы распределяются между этими экземплярами рабочих процессов с помощью механизма циклического перебора.
Поддержка нескольких протоколов WAS
WAS не только размещает стек HTTP. Он также может размещать другие протоколы с помощью адаптера прослушивания и платформы рабочих процессов. Службы WCF используют поддержку нескольких протоколов WAS. Протоколы WCF имеют собственные прослушиватели (например, NET.TCP, NET.MSMQ или NET.PIPE Listener). Эти прослушиватели подключаются к WAS с помощью интерфейсов адаптера прослушивателя.
Протоколы приложений, использующие эту инфраструктуру, могут размещать пользовательский код приложения в том же домене приложения .NET, что и обычные ASP.NET приложения. Они также могут воспользоваться преимуществами независимых от протокола служб, предоставляемых средой размещения ASP.NET, например компиляцией по запросу, поддержкой конфигурации и т. д.