По сравнению с предыдущими версиями, службы IIS 6.0 являются более стабильным решением, что обусловлено новой архитектурой механизма обработки запросов. Теперь каждое пользовательское веб-приложение может выполняться в рамках своего собственного рабочего процесса. В табл. 16.2 перечислены функциональные возможности IIS 6.0, обуславливающие улучшение стабильности решений на базе данного продукта.
Таблица 16.2. Функциональные возможности, улучшающие стабильность служб IIS
Функциональная возможность | Описание | ||
Режимы функционирования | Службы IIS могут функционировать в одном из двух режимов: режим изолированных рабочих процессов и режим совместимости с IIS 5.O. В режиме изолированных рабочих процессов (worker process isolation mode) каждое веб-приложение может выполняться в отдельном рабочем процессе. При этом рабочие процессы приложений запускаются отдельно от основного процесса WWW-службы (inetinfo.exe), что позволяет избежать остановки других приложений в ситуации, когда одно из приложений отказывает или зависает | ||
Множество пулов приложений | Данная возможность доступна только в режиме изолированных рабочих процессов. Под пулом приложений понимается конфигурация, связывающая один или несколько приложений с одним или несколькими рабочими процессами. Проблемы, вызванные ошибками в одном из пулов приложений, не воздействуют на приложения в других пулах | ||
Ограничение длины очереди пула приложений | Администратор может ограничить длину очереди для пула приложений. Сервер начнет отклонять новые запросы в случае превышения некоторого заданного числа запросов, поступающих определенному пулу приложений. Благодаря этому механизму администратор может предотвратить истощение ресурсов сервера | ||
Очереди на уровне ядра | Механизм, функционирующий на уровне ядра IIS, помещает все запросы, адресованные отказавшему пулу приложений, в специальную очередь. Поскольку пулы приложений могут выполняться в контексте различных рабочих процессов, служба WWW может инициировать новый процесс для обслуживания запросов из этой очереди | ||
Мониторинг состояния процессов | Служба WWW может выполнять мониторинг состояния рабочих процессов. В случае возникновения проблем служба способна прервать процесс или заменить его другим. В качестве варианта отказавший процесс может быть "изолирован" от пула приложений. Поскольку его работа не прерывается, разработчики и администратор могут выполнить диагностику проблемы | ||
Отслеживание времени простоя рабочего процесса | Администратор может контролировать процесс использования системных ресурсов, определив для рабочих процессов допустимое время простоя (idle timeout). По истечении этого времени процесс будет остановлен | ||
Защита от быстрого отказа | Администратор может активизировать механизм, который отключает пул приложений в ситуации, когда в рамках данного пула происходит множество последовательных ошибок | ||
Утилизация рабочих процессов | Службы IIS могут быть сконфигурированы таким образом, чтобы периодически перезапускать рабочие процессы. Тем самым гарантируется освобождение системных ресурсов и удаление неактивных рабочих процессов. Перезапуск может быть поставлен в зависимость от периода времени, в течение которого процесс активен, количества обработанных запросов, либо выполняться через определенные промежутки времени |