Улучшение стабильности служб

По сравнению с предыдущими версиями, службы IIS 6.0 являются более стабильным решением, что обусловлено новой архитектурой механизма обработки запросов. Теперь каждое пользовательское веб-приложение может выполняться в рамках своего собственного рабочего процесса. В таблице 16.2 перечислены функциональные возможности IIS 6.0, обуславливающие улучшение стабильности решений на базе данного продукта.

Таблица 16.2. Функциональные возможности, улучшающие стабильность служб IIS

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

Важно отметить, что каждая из этих функциональных возможностей была разработана с целью обеспечения максимальной стабильности и надежности работы служб IIS. Эти функции позволяют администраторам настроить сервер таким образом, чтобы достичь оптимальной производительности при одновременном минимизации рисков отказов и проблем с безопасностью.

IIS 6.0 представляет собой значительное улучшение по сравнению с предыдущими версиями и является результатом многолетнего опыта Microsoft в области разработки веб-серверов. Особое внимание было уделено аспектам безопасности, что делает данную версию одной из самых безопасных среди всех выпущенных ранее.