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