Опубликован: 20.02.2006 | Доступ: свободный | Студентов: 3559 / 480 | Оценка: 4.34 / 3.99 | Длительность: 21:22:00
ISBN: 978-5-9570-0022-1
Лекция 1:

Базовые сведения об IIS

Лекция 1: 12345 || Лекция 2 >

Архитектура IIS 6

Если вы работали с предыдущими версиями IIS, то заметите в версии IIS 6 значительные усовершенствования. Версия 6 намного более стабильна и безопасна в работе. При ознакомлении с данной информацией имейте в виду, что она относится к компоненту веб-сервера IIS. В шестой версии IIS службы FTP, SMTP и NNTP по-прежнему выполняются в процессе inetinfo.exe.

В предыдущих версиях IIS (см. рис. 1.6) все компоненты выполнялись в процессе inetinfo.exe или вне процесса в dllhost.exe. Сайт с ошибкой, выполняющийся в inetinfo.exe, мог вызвать сбой веб-службы со всеми вытекающими последствиями.

Диаграмма процесса веб-сервера IIS 5

Рис. 1.6. Диаграмма процесса веб-сервера IIS 5

IIS 6 отделяет код веб-сервера от кода поддержки приложений при помощи HTTP-слушателя режима ядра http.sys и службы веб-администрирования (WAS), являющейся диспетчером процесса и конфигурации пользовательского режима (см. рис. 1.7). Эти программы не выполняют никакого стороннего кода, поэтому ошибка веб-сайта не оказывает на них никакого воздействия. Код выполняется в рабочем процессе. Рабочие процессы выполняются с помощью приложения w3wp.exe. Каждая копия w3wp.exe представляет собой отдельный рабочий процесс. Рабочие процессы существуют отдельно друг от друга и от ядра, поэтому их можно изолировать от операционной системы.

Диаграмма процесса веб-сервера IIS 6

Рис. 1.7. Диаграмма процесса веб-сервера IIS 6

Совет. Выражение "в процессе" означает код, выполняемый в том же процессе, что и родительский. "Вне процесса" означает код, выполняемый в отдельном процессе.

Режим изоляции рабочего процесса

Веб-служба IIS 6 выполняет весь прикладной код в изолированной среде. Такой подход называется режимом изоляции рабочего процесса. Он уже был реализован в IIS ранее, однако его использование приводило к значительному спаду производительности. Однако в IIS 6 все выполняется вне процесса, поэтому никакого снижения производительности не происходит. Предыдущие версии IIS использовали процессы режима пользователя для маршрутизации запросов, направленных друг к другу. В IIS 6 запросы вызываются непосредственно из ядра, с полной изоляцией рабочих процессов друг от друга. Это помогает в том случае, если два приложения нужно отделить по причинам безопасности. В настоящий момент такие службы IIS, как FTP и SMTP, все еще выполняются в inetinfo, как и в IIS 5. Возможно, в следующей версии рабочие процессы будет изолированы и для этих служб, однако пока что они могут воздействовать на процесс inetinfo.

Режим изоляции IIS 5.0

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

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

  • Интерфейсы ISAPI с несколькими вхождениями, созданные для совместного многократного использования различными процессами.
  • Чтение фильтров необработанных данных, которые могут перехватывать данные прежде, чем они достигнут веб-сайта.
  • Внутрипроцессовые сеансовые переменные состояния, так как они удаляются при каждой рециркуляции рабочего процесса.
  • Приложения, передающие выполнение задач своим собственным рабочим процессам.

Включение режима изоляции IIS 5.0. Включение режима изоляции производится на корневом уровне папки Web Sites (Веб-узлы) в IIS MMC. Это действие осуществляется для всех веб-сайтов на cервере в целом; нельзя включать этот режим для отдельных веб-сайтов. Для включения режима изоляции выполните следующие действия.

  1. Откройте окно IIS MMC.
  2. Щелкните правой кнопкой мыши на папке Web Sites (Веб-узлы) и выберите Properties (Свойства).
  3. Откройте вкладку Service (Служба). Обратите внимание на то, что вкладка доступна только на этом уровне.
  4. Отметьте поле Run WWW Service In IIS 5.0 Isolation Mode (Выполнять службу WWW в режиме изоляции IIS 5.0).
  5. Нажмите на кнопку OK для возврата в IIS MMC.

Пулы приложений

IIS вводит принципиально новый способ поддержки приложений. Пулы приложений позволяют выполнять код в изолированной среде. Каждый пул приложения обслуживается одним или несколькими рабочими процессами. При запуске IIS служба веб-администрирования (Web Administration Service) инициализирует таблицу маршрутизации пространства имен http.sys с одной записью для каждого приложения. Эта таблица определяет, к какому пулу приложений должно быть маршрутизировано приложение. При получении запроса http.sys дает WAS команду на запуск одного или нескольких рабочих процессов для поддержки этого пула приложения. Такая изоляция процессов в целом повышает стабильность веб-сервера.

Мониторинг состояния

WAS имеет возможность контролировать состояние ("здоровье") IIS посредством отслеживания рабочих процессов и мониторинга степени их исправности. Это позволяет предотвратить отказы IIS. WAS отслеживает рабочие процессы посредством отправки пинг-запросов через установленные промежутки времени. Если рабочий процесс не отвечает на пинг-запрос, WAS завершает процесс и запускает новый, что сохраняет возможность системы отвечать на системные запросы даже в случае "зависания" рабочего процесса. При возникновении сбоя в рабочем процессе и его "зависании" http.sys будет выдавать последовательные запросы до тех пор, пока WAS не запустит новый рабочий процесс для поддержки этого пула приложения. Конечный пользователь столкнется с временной потерей обслуживания приложениями в данном пуле приложений, в то время как ключевые веб-службы и другие приложения продолжат свою работу.

Блокирование рабочих процессов

WAS можно настроить на блокирование рабочего процесса вместо его уничтожения, что позволяет выполнить проверку неисправного рабочего процесса.

WAS настраивается также и на выполнение команды (например, на запуск отладчика) при блокировке рабочего процесса. Рабочие процессы периодически перезапускаются в дополнение к перезапуску при возникновении ошибок, что позволяет уменьшить объем потерянных данных посредством инициализации среды и возвращения этих данных системе. При перезапуске рабочего процесса WAS создает новый рабочий процесс и сообщает существующему рабочему процессу о необходимости завершения выполняемых операций и своей работы в течение определенного времени. Это позволяет поддерживать приложение в рабочем состоянии с обновлением рабочих процессов в фоновом режиме. Если рабочий процесс не завершает работу в разрешенный промежуток времени, то он уничтожается.

Перезапуск рабочих процессов производится по следующим критериям:

  • затраченное время;
  • количество запросов;
  • время дня;
  • использование памяти;
  • время простоя;
  • использованное процессорное время.

Масштабируемость

Режим изоляции рабочих процессов позволяет улучшить масштабируемость веб-сервера. На сервере с такой конфигурацией могут существовать тысячи веб-сайтов. Каждый пул приложений контролируется в индивидуальном порядке с ограничением процессорного времени для отдельных пулов.

Веб-наборы

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

Количество запросов в очереди для каждого пула приложения указывается в http.sys при выполнении рабочего процесса в режиме изоляции. По достижении этого лимита новые запросы к пулу приложения не обрабатываются, и пользователь получает сообщение об ошибке HTTP 503.

Примечание. Подробная информация о пулах приложений и опциях приведена в "Служба WWW" .

Лекция 1: 12345 || Лекция 2 >
Александр Тагильцев
Александр Тагильцев

Где проводится профессиональная переподготовка "Системное администрирование Windows"? Что-то я не совсем понял как проводится обучение.

Владимир Кирин
Владимир Кирин
Неполодки на ресурсе.При сдаче 7 теста, открывается пустое окно, и ничего не происходит.Поправте пожалуйста. При этом попытка считается защитана, перездача только через 30 мин. Использую браузер опера.