Вход |  Регистрация

Все Тэги

Мониторинг IIS

18.11.20131941 просм.

Обзор

Microsoft Internet Information Services (IIS) – второй по популярности в мире после Apache HTTP Server. Он интегрирован во все версии операционной системы Windows в различных вариантах, постоянно усовершенствуется и дорабатывается. IIS 6.0 сделал серьезный шаг вперед, обеспечив возможность использовать его не только как веб-сервер, но и как сервер приложений. IIS 7.0, последняя версия платформы, пошла еще дальше, предоставив новые возможности, которые помимо прочего увеличивают производительность и надежность.

IIS включает следующие сервера: FTP/FTPS, SMTP, NNTP, и HTTP/HTTPS. Среди них мы остановимся на HTTP/HTTPS-сервере, познакомимся с его архитектурой, возможностями мониторинга производительности и принципами настройки. В основном поговорим о версии IIS 6.0, с обращением к IIS 7.0 там, где это необходимо.

Архитектура

Сервер IIS работает в одной из двух моделей обработки запросов, называемыми режимами изоляции приложений. Изоляция приложений состоит в обособлении всех приложений и веб-сайтов границами процессов, чтобы они не влияли друг на друга. Это также позволяет сократить время на перезапуск служб для устранения неполадок в приложениях.

IIS 6.0 поддерживает два режима изоляции приложений. Каждый из них имеет свою конфигурацию:

  • Режим изоляции рабочего процесса. Поддерживает объединение веб-приложений в пулы приложений, обеспечивая функционирование каждого приложения в автономном рабочем процессе. Рабочий процесс – код режима пользователя, задача которого состоит в обработке запросов, таких как возврат статических страниц, вызов расширения или фильтра Internet Server API (ISAPI ). Этот режим позволяет пользоваться всеми преимуществами архитектуры IIS 6.0, включая множественные пулы приложений, мониторинг состояния, возможность повторного использования ресурсов, улучшенную защиту, производительность, масштабируемость и привязку к процессору.
  • Режим изоляции IIS 5.0. Обеспечивает совместимость для приложений, созданных для более ранних версий IIS. Если службы IIS 6.0 работают в этом режиме изоляции, обработка запросов почти идентична обработке в пятой версии. Этот режим следует использовать только в том случае, когда приложение не функционирует в режиме изоляции рабочего процесса.

Для получения HTTP-запросов и возврата ответов оба режима используют стек HTTP-протоколов (HTTP.sys) HTTP.sys ждет http- запросы, ставит их в очередь и возвращает ответы после обработки.

HTTP.sys работает в режиме ядра (Kernel Mode), в котором выполняется код операционной системы, например, драйвера устройств. Это обеспечивает обработку http-запросов операционной системой в приоритетном порядке. Фактическая обработка запроса выполняется в режиме пользователя соответствующим рабочим процессом.

Следующая диаграмма иллюстрирует режим Изоляции рабочего процесса:

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

Как мы уже говорили, IIS предоставляет четыре интернет-сервиса: World Wide Web Publishing Service (WWW) или Служба веб-публикаций для хостинга интернет- и интранет-контента; the File Transfer Protocol (FTP) – для хостинга сайтов, на которых пользователи могут размещать и загружать файлы; Network News Transfer Protocol (NNTP) – для хостинга групп обсуждения; а также the Simple Mail Transfer Protocol (SMTP) – для отправки и получения электронных сообщений. Рекомендуем отключать/ деинсталлировать неиспользуемые сервисы и тем самым сократить необходимый для работы объем оперативной памяти.

IIS 7.0 вводит несколько усовершенствований архитектуры:

  • Добавлен новый сервис Windows Process Activation Service (WAS). Он позволяет использовать протоколы, отличные от HTTP/HTTPS.
  • Интеграция конвейеров обработки запросов от IIS и ASP.NET. Возможность реализована применительно к режиму пулов приложений, поддерживаемых в IIS 7.0.
  • Режим изоляции IIS 5.0 больше не поддерживается.
  • Режим изоляции рабочего процесса IIS 6.0 по-прежнему поддерживается.
  • Добавлен Интегрированный режим пула приложений (Integrated Application Pool mode), для интеграции обработки запросов от IIS и ASP.NET.
  • Движок веб-сервера может быть настроен под индивидуальные потребности посредством добавления или удаления модулей.

Мониторинг

Счетчики производительности IIS представлены в динамической библиотеке pdh.dll (Microsoft Windows performance data helper library), которая является платформой для общего мониторинга в Windows. Это означает, что каждый счетчик производительности IIS является числовым, и идентифицируется посредством уникального пути, обычно следующего синтаксиса:

 

Часть пути Имя_Компьютера не является обязательным.

SiteScope и LoadRunner используют Windows pdh интерфейс для мониторинга счетчиков, относящихся к IIS и ASP/ASP.NET. Для вызова pdh интерфейса с удаленной машины, Windows требует аутентификации пользователя с надлежащими правами доступа.

Лучшие практики логично рекомендуют хорошо представлять архитектуру своего приложения, и особенности внедрения. Это пригодится при применении методов управления производительностью в течение жизненного цикла продукта. Например, нет смысла устанавливать FTP server или Frontpage Server, если они не используются, равно как и осуществлять мониторинг Активных серверных страниц, если приложение полностью работает на ASP.NET.

В следующем блоге мы продолжим эту тему и  расскажем об основных счетчиках веб-сервиса.

Метки: , , , ,

Добавить комментарий

Для отправки комментария вам необходимо авторизоваться.

Партнеры DevOpsHub и DevOpsWiki