По сравнению с предыдущими версиями, службы 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 могут быть сконфигурированы таким образом, чтобы периодически перезапускать рабочие процессы. Тем самым гарантируется освобождение системных ресурсов и удаление неактивных рабочих процессов. Перезапуск может быть поставлен в зависимость от периода времени, в течение которого процесс активен, количества обработанных запросов, либо выполняться через определенные промежутки времени |