Iis справочник по периодам ожидания


Содержание

Установка и конфигурирование IIS

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

В этой и следующих статьях мы рассмотрим различные варианты развертывания. Однако во всех случаях основные предпосылки остаются неизменными. На рабочей станции имеется готовый веб-сайт, который нужно развернуть на сервере, чтобы он был доступен клиентам. Для ASP.NET таким сервером является , а его текущей версией — IIS 8. Когда он был впервые реализован, IIS представлял собой базовый веб-сервер. С годами IIS развился в сложный сервер приложений, предоставляющий широкое множество функциональных средств, наиболее важным из которых является поддержка хостинга приложений ASP.NET.

В этой статье основное внимание уделяется IIS 8. Хотя машина, на которой запущен IIS 8, здесь называется сервером, IIS можно запускать под управлением версий Windows как для рабочей станции, так и для сервера. На рабочих станциях доступны не все, но большинство функциональных возможностей, что позволяет размещать сложные веб-сайты. По возможности мы рекомендуем использовать Windows Server, однако недорогой альтернативой могут послужить Windows 7 или Windows 8.

В Microsoft привязывают выпуски IIS с выпусками Windows. В состав Windows Server 2008 и Windows Vista входит версия IIS 7.0, в состав Windows Server 2008 R2 и Windows 7 — версия IIS 7.5, а в состав Windows Server 2012 и Windows 8 — IIS 8. Версии — 7.0 и 7.5 — в Microsoft обобщенно называют IIS 7, что может вносить путаницу. Версию IIS, поддерживаемую операционной системой, изменить нельзя — Windows Server 2008 будет использовать только IIS 7.0. Например, модернизировать ее до версии IIS 7.5, используемой в Windows Server 2008 R2, не получится.

Установка IIS

Компонент IIS включен как часть установки Windows (как для сервера, так и для рабочих станций) и требует активизации и конфигурирования. Далее представлены три способа активации IIS для различных операционных систем.

Установка IIS на настольных версиях Windows (Windows Vista, Windows 7 и Windows 8)

Каждая версия операционной системы Windows предлагает свою версию IIS — IIS 8 (в Windows 8), IIS 7.5 (в Windows 7) или IIS 7 (в Windows Vista). Во всех этих версиях Windows, IIS включен, но изначально не установлен. Чтобы установить его, необходимо выполнить следующие действия:

Откройте панель управления.

Нажмите кнопку «Включение или отключение компонентов Windows». Теперь вам нужно подождать, пока Windows исследует вашу систему.

Найдите элемент Internet Information Services (Службы IIS) в верхней части списка и нажмите на галочку чтобы включить его:

Обратите внимание, что Windows позволяет включить множество компонентов IIS: поддержка FTP-сервера, дополнительные инструменты управления, службы обратной совместимости с IIS 6 и т.д.

Убедитесь, что вы выбрали поддержку ASP.NET. Для этого раскройте узел Службы Интернета Компоненты разработки приложений ASP.NET (Internet Information Services World Wide Web Services Application Development Features ASP.NET):

Если вы хотите использовать поддержку IIS в Visual Studio, которая позволяет вам создавать виртуальные каталоги IIS непосредственно в диалоговом окне New Web Site, вам нужно выбрать пункт «Совместимость управления IIS 6» в разделе «Средства управления веб-сайтом» (Web Management Tools IIS 6 Management Compatibility).

Как только вы выбрали нужные параметры IIS, нажмите кнопку OK для завершения установки.

Установка IIS в Windows Server 2008

Установка и настройка IIS одинакова для Windows Server 2008 и Windows Server 2008 R2. Необходимые шаги описаны ниже:

Запустите диспетчер сервера. Чтобы сделать это, нажмите кнопку Start и выберите All Programs Administrative Tools Server Manager.

Выберите узел Roles в дереве слева.

В правой части окна нажмите на ссылке Add Roles. Это открывает мастер, позволяющий добавить новую роль сервера.

Выполните необходимые действия в мастере. Вас вероятно попросят установить дополнительные необходимые роли — если это так, нужно просто принять операции и продолжить.

После установки вам будет предложено настроить веб-сервер. Как в настольных версиях Windows, вы можете выбрать специфические особенности IIS 7, которые должны быть включены.

Если вы работаете в ASP.NET с версией .NET Framework 4.5, то эту версию .NET Framework необходимо будет установить (центр разработчиков .NET Framework)

Установка IIS в Windows Server 2012

Процесс установки IIS в Windows Server 2012, по существу, такой же, как и в Windows Server 2008. Основное различие заключается в том, что пользовательский интерфейс несколько отличается. Подробное описание вы можете найти перейдя по ссылке Installing IIS 8 on Windows Server 2012.

Управление IIS

При установке IIS, он автоматически создает каталог с именем C:\inetpub\wwwroot, который представляет ваш веб-сайт. Все файлы в этом каталоге будет отображаться, как будто они находятся в корневом каталоге вашего веб-сервера.

Чтобы добавить дополнительные страницы на ваш веб-сервер, можно скопировать файлы HTML, ASP или ASP.NET напрямую в каталог C:\Inetpub\wwwroot. Например если добавить файл TestFile.html в этот каталог, вы можете запросить его в браузере через URL-адрес http://localhost/TestFile.html. Вы даже можете создавать вложенные папки для группирования связанных ресурсов. Например, вы можете получить доступ к C:\inetpub\wwwroot\MySite\MyFile.html через браузер, используя URL-адрес http://localhost/MySite/MyFile.html.

Каталог wwwroot удобен для запуска простых примеров и статичных страниц. Для правильного использования ASP.NET вы должны сделать свой собственный виртуальный каталог для каждого веб-приложения, которое вы создаете. Например, вы можете создать папку с любым именем на любом диске вашего компьютера и поместить ее в виртуальный каталог IIS как будто она расположена в каталоге C:\inetpub\wwwroot.

Прежде чем начать работу, вам нужно запустить диспетчер служб IIS. Его можно найти в меню Start (Пуск). Конкретное расположение может зависеть от используемой версии Windows (IIS Диспетчер служб IIS). Ярлык программы будет располагаться в разделе Programs (Программы) или Administrative Tools (Администрирование). Начальная страница IIS Manager показана на рисунке ниже:

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

Если развернуть элемент сервера в древовидном представлении в левой части экрана, отобразится элемент Sites (Сайты), содержащий единственную запись Default Web Site (Веб-сайт по умолчанию). Сайт — это коллекция файлов и каталогов, образующих веб-сайт. На одном сервере IIS может поддерживать несколько сайтов, как правило, на различных портах TCP/IP (по умолчанию используется порт 80). Сочетание имени сервера и порта сайта образует первую часть URL-адреса. Например, при использовании сервера mywebserver с сайтом, подключенным к порту 80, URL-адрес выглядит следующим образом:

Каждый сайт может содержать множество файлов и каталогов. Каждый из них образует часть URL-адреса. Так, URL-адрес статической страницы mypage.html, расположенной в каталоге myfiles, будет следующим:

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

Чтобы проверить работоспособность IIS выберите Default Web Site и в правой области диспетчера служб IIS выберите пункт «Запустить». После этого нажмите кнопку «Обзор *.80 (http)» чтобы открыть страницу сайта в браузере:

Как видите, в моем случае я поменял порт используемый по умолчанию (с 80 на 8080). Я сделал это, т.к. на 80-м у меня запущен локальный Apache-сервер. Если у вас возникает такая же проблема, то изменить порт можно щелкнув правой кнопкой мыши по сайту (Default Web Site) и выбрав в контекстном меню «Изменить привязки» (Bindings). После этого в диалоговом окне можно изменить порт, используемый по умолчанию.

Итак, каждый сервер может поддерживать множество сайтов, каждый из которых работает на другом порту или с другим IP-адресом. Каждый сайт может иметь множество файлов и каталогов, и сочетание этих элементов предоставляет информацию о URL-адресе. Мы вернемся к URL-адресам и использованию IIS Manager при рассмотрении каждого из подходов к развертыванию.

Iis справочник по периодам ожидания

Последнее обновление раздела: август 2008 г.

При выполнении отчета в Configuration Manager 2007 средство просмотра отчетов использует сценарии ASP, которые хранятся в компьютере точки формирования отчетов. В службах IIS значение по умолчанию для таймаута сценария ASP — 90 секунд. Значение времени должно быть достаточным для выполнения отчетов в большинстве сред. Однако в определенных ситуациях время ожидания некоторых отчетов может закончиться до завершения отчета. Чтобы настроить значение таймаута сценария ASP, воспользуйтесь описанной ниже процедурой.

Настройка значения таймаута сценария ASP в службах IIS 6.0

На компьютере точки формирования отчетов откройте диспетчер служб IIS.

Выберите Службы IIS \ \ Веб-узлы \ Веб-узел по умолчанию.

Щелкните правой кнопкой мыши SMSReporting_ и выберите пункт Свойства.

Откройте вкладку Виртуальный каталог и выберите пункт Конфигурация в разделе Параметры приложения.

Перейдите на вкладку Параметры, затем настройте параметр Таймаут сценария ASP.

Нажмите кнопку ОК, чтобы сохранить изменения, затем нажмите кнопку ОК, чтобы закрыть диалоговое окно.

Настройка значения таймаута сценария ASP в службах IIS 7.0

На компьютере точки формирования отчетов откройте диспетчер служб IIS.

Выберите \ Узлы \ Веб-узел по умолчанию.

Щелкните SMSReporting_ , затем дважды щелкните ASP в разделе Просмотр возможностей.

Разверните Свойства, определяющие предельные значения, настройте значение параметра Таймаут сценария ASP, нажмите клавишу ВВОД, затем щелкните Применить на панели Действия.

Как оценить посещаемость (количество пользователей) на сайте IIS

Как быстро оценить текущее количество подключений пользователей к сайтам на веб сервере IIS, работающем на Windows Server? Подобная информация позволит точнее оценить и спрогнозировать нагрузку на сервер, выбрать оптимальное время для проведения обслуживания и обновления сайта, спрогнозировать нагрузку на сервер при увеличении количества пользователей.

Проще всего определить количество активных сессией пользователей на веб сайте IIS при помощи счетчиков производительности в мониторе производительности Windows (Performance Monitor).

Откройте консоль Performance Monitor, выполнив команду perfmon и перейдите в консоль монитора производительности (Monitoring Tools —> Performance Monitor).

Далее нужно добавить в окно монитора необходимые нам счетчики (по умолчанию в окне отображается счетчик общей загрузки CPU — его можно удалить). Чтобы добавить новый счетчик, нажмите зеленую кнопку в панели инструментов (на скриншоте она выделена) или нажмите комбинацию клавиш Ctrl+N.

В списке доступных категорий счетчиков найдем и развернем группу Web Service. В этой категории нас интересуют три счетчика:

  • CurrentAnonymousUsers – количество анонимных пользователей IIS;
  • CurrentNon-AnonymousUsers – количество авторизованных (неанонимных) пользователей IIS;
  • CurrentConnections – общее число активных подключений на сервере IIS.

Выберем нужный счетчик и в поле экземпляров счетчика (Instances of selected objects) выберем один или несколько сайтов IIS, для которых нужно отобразить информацию о подключениях. Информация по пользователям всех сайтов на сервере содержится в экземпляре _Total. Осталось нажать кнопку Add >>, чтобы нужный счетчик переместился в список добавляемых счетчиков в правом окне.


Точно так же добавим все необходимые счетчики и нажмем ОК.

Теперь в консоли Performance Monitor в режиме реального времени будет отображаться информация о количестве активных подключений (сессий) пользователей на веб сервере/сайте IIS (по умолчанию значения счетчиков выводятся в виде линейных графиков). Выбрав в нижней панели любой из счетчиков можно посмотреть его текущее (last), среднее (average), минимальное (minimum) и максимальное (maximum) значение за данный период времени.

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

Доступ к данным счетчиков производительности для сайтов IIS можно получить и из PowerShell. Для этого достаточно использовать командлет получения данных из счетчика производительности Get-Counter.

Список всех доступных счетчиков производительности для службы Web Service можно вывести так:

Чтобы получить информацию о текущем количестве активных подключений на сервере IIS (счетчик \Web Service(*)\Current Connections) воспользуйтесь такой командой:

Get-Counter -Counter “\Web Service(*)\Current Connections”

Как вы видите, данная команда вернула как суммарное количество подключений к серверу IIS, так и статистику для каждого из сайтов.

  • Значения нескольких счетчиков можно вывести, указав их через запятую;
  • С ключем Continuous информация о значении счетчика будет выводится в консоль постоянно, пока не будет выполнено прерывание командой CTRL+C.

Как мы уже говорили, можно получить количество активных сессии для конкретного сайта IIS. Например, чтобы получить текущее количество соединений на сайте с именем Site1, выполните команду (вы можете указать имя сервера, на котором проверяется значение счетчика, при проверке количества подключений на сайте локально, указывать localhost недопустимо):

Get-Counter «web service(Site1)\current connections» -ComputerName web-app01

Чтобы не указывать каждый раз имя сервера, можно использовать переменную окружения COMPUTERNAME

Get-Counter «web service(Site1)\current connections» -ComputerName $env:COMPUTERNAME

Для получения числового значения счетчика «current connections» всего веб-сервера IIS (суммарная нагрузка на IIS) можно использовать такой код:

((Get-Counter -Counter ‘web service(_total)\current connections’ -computer $env:COMPUTERNAME) | Select-Object -Expand countersamples).Cookedvalue

Попробуем с помощью простого скрипта создать несколько дополнительных сессии с нашим сайтом и проверить значение счетчика. Можно накрутить количество обращений к IIS с помощью с помощью командлета Invoke-WebRequest, а можно просто открыть несколько окон в браузере:

$counter = 20
for($i=1;$i -le $counter;$i++)<
$SiteAdress = «http://localhost:9666/»
Start-Process $SiteAdress
>

После этого проверьте значение счетчика current connections и убедитесь, что он увеличиться.

Если на сервере запушено несколько сайтов IIS, и нужно получить количество подключений к каждому из них в табличном виде, можно воспользоваться таким скриптом (для получения данных из IIS в PowerShell нужно загрузить модуль WebAdministration):

import-module webadministration
function get-CurrentConnection($Site) <
Get-Counter «web service($Site)\current connections,web service($Site)\ Bytes Received/sec,web service($Site)\Bytes Sent/sec» -ComputerName $env:COMPUTERNAME
>
$IISsites = dir IIS:\Sites | Select Name
$CurrentConnection = @()
foreach ($site in $IISsites)
<
Write-Host $site
$ConnCount = New-Object psobject | get-CurrentConnection -Site $site.name
$CurrentConnection += $ConnCount
>
$CurrentConnection|out-gridview

Также вы можете вывести числовые значения счетчиков подключений по всем сайтам так (первое значение – суммарное количество подключений к IIS):

Get-wmiObject -class Win32_PerfRawData_W3SVC_WebService | select-object -expand currentconnections

Также вы можете отобразить информацию о количество полученных/переданных данных для каждого сайта или всего веб сервера с помощь счетчиков web service(sitename)\ Bytes Received/sec и web service(sitename)\Bytes Sent/sec».

Итак, мы рассмотрели методику, позволяющую получить информацию о нагрузке на сайты, запущенные на веб сервере IIS.

Работа конвейера веб-сервера IIS

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

IIS определяет число запросов, которые могут обрабатываться единовременно на одном ядре процессора компьютера. По умолчанию число единовременно обрабатываемых запросов равно 5000. Если количество входящих запросов превышает это число, то все дополнительные запросы помещаются в очередь ожидания, которая также имеет свой лимит. Если же и данная очередь уже заполнена, то входящий запрос отвергается, а браузеру в ответ посылается статусный код ошибки 503. Но это в целом, теперь рассмотрим более детально обработку запросов.

Но прежде чем рассмотреть, как IIS обрабатывает запросы, познакомимся с отдельными компонентами, которые играют ключевую роль в обработке запросов в веб-сервере IIS.

HTTP.sys

Драйвер уровня ядра HTTP.sys является посредником между приложением и операционной системой. В архитектуре IIS он выполняет две задачи:

HTTP.sys является протокольным слушателем (protocol listeners) по умолчанию в IIS. То есть HTTP.sys прослушивает все запросы, которые, используют протоколы HTTP и HTTPS, и затем передает эти запросы другим компонентам IIS для дальнейшей обработки.

HTTP.sys также представляет стек протокола HTTP. А именно HTTP.sys выполняет кэширование, постановку запросов в очередь, предобработку и ряд других функций.

Порт завершения ввода-вывода

Для максимизации числа одновременно обрабатываемых запросов IIS использует специальное API, которое называется портом завершения ввода-вывода (Input/Output Completion Port). IIS имеет выделенный пул потоков для обработки операций ввода/вывода и управления очередью запросов. При обработке запросов этот API взаимодействует с драйвером HTTP.sys.

World Wide Web Publishing Service (W3SVC)

World Wide Web Publishing Service или Служба веб-публикации является адаптером над драйвером HTTP.sys и выполняет следующие функции:

Мониторинг показателей производительности

До версии IIS 7.0 служба веб-публикации также управляла рабочими процессами приложений. Но начиная с IIS 7.0 за эту функцию отвечает Windows Process Activation Service.

Windows Process Activation Service (WAS)

Данная служба была выделена начиная с IIS 7.0. Ее предназначение — управление рабочими процессами. WAS состоит из трех основных компонентов:

менеджер конфигурации : считывает конфигурационную информацию о веб-приложениях и пулах приложений из файла applicationhost.config

менеджер процессов : выполняет сопоставление между пулами приложений и рабочими процессами. Если соответствующий пулу приложения рабочий процесс еще не запущен, то менеджер процессов его запускает.

интерфейс неуправляемых адаптеров прослушивателей (unmanaged listener adaptor interface): предоставляет интерфейс для прослушивателей запросов, которые не относятся к протоколу HTTP

Обработка запросов в IIS

Теперь рассмотрим поэтапно работу конвейера IIS по обработке входящих запросов.

Пользователь посылает HTTP-запрос, обращаясь через браузер к определенному ресурсу на сервере. Этот запрос перехватывается драйвером HTTP.sys.

Драйвер HTTP.sys обращается к WAS для получения конфигурационных данных для запрошенного адреса URL

Менеджер конфигурации WAS считывает данные из файла applicationhost.config, в частности пул приложения и конфигурационные настройки сайта

Считанные данные WAS передает службе веб-публикации IIS (служба W3SVC)

Служба веб-публикации использует полученные от WAS данные для конфигурации HTTP.sys. Затем драйвер HTTP.sys помещает пришедший запрос в очередь порта завершения ввода-вывода (I/O completion port), которую обрабатывает WAS.

WAS использует выделенный пул потоков для обработки очереди. По умолчанию данный пул потоков может использовать до 250 потоков на одно ядро компьютера. Если к данному моменту не был запущен рабочий процесс, ассоциированный с запрошенным URL, то WAS запускает приложение w3wp.exe, в рамках которого работает рабочий процесс обработки запросов.

В рамках запущенного рабочего процесса ASP.NET проверяет, сколько запросов обрабатывается в текущий момент времени. Если их число превышает лимит по умолчанию в 5000 запросов, то новый запрос помещается в очередь. Однако если очередь достигла своего лимита в 1000 запросов, то данный запрос отвергается, и в ответ клиенту посылается статусный код ошибки 503.

Если запрос направлен к статическому файлу, который не содержит кода .NET-языков, то ASP.NET посылает содержимое этого файла в порт завершения ввода-вывода IIS, а оттуда — пользователю, сделавшему запрос. В остальных случаях ASP.NET отправляет запрос в пул потоков CLR.

CLR обрабатывает запрос. На этой стадии запускается непосредственно код нашего веб-приложения или веб-сайта, размещенного на веб-сервере.

После того, как среда CLR закончит обработку запроса, она посылает результаты драйверу HTTP.sys, а тот — на порт завершения ввода-вывода IIS.

Пользователь получает результат обработки

Схематично весь процесс можно представить следующим образом:

IIS 7.0: краткая инструкция для системного администратора. Часть 1 – пpoверка результатов установки.

Продолжаем говорить об процедуре установки веб сервера под управлением IIS 7.0 на Windows Server 2008, которая была рассмотрена в предыдущем посте.

Теперь перейдем к проверке результатов установки IIS 7.0. Самый простой вариант проверить, работает ли веб сервер, особенно – находясь за локальной консолью, это обратиться из любого веб-браузера по адресу http://localhost/. Далее, проверить с локальной и удаленной машины по IP-адресу.

При установке IIS 7.0 создается веб сайт по умолчанию, сконфигурированный на ответ при любом URL-запросе, поступившем на порт 80 любого сетевого интерфейса сервера, на котором установлен IIS 7.0. Т.е. запрос браузера типа http://localhost/ должен быть обработан как запрос к веб сайту по умолчанию. Содержимое сайта по умолчанию представляет собой 2 файла – iisstart.htm и welcome.png (который отображается в iisstart.htm), которые и будут открыты клиентом. Поэтому результат обращения к localhost будет иметь следующий вид:


Теперь, если все хорошо (если «плохо» – поиск неисправностей и ошибок мы рассмотрим позже, в отдельном разделе), убедимся, что все модули, которые должны быть установлены по умолчанию – подключены и работают, а базовая конфигурация – отвечает нашим требованиям.

1. Основным инструментом управления IIS 7.0 является консоль Internet Information Services (IIS) Manager, которая устанавливается по умолчанию, вместе с ролью Web Server в Windows Server 2008 (IIS Management Console, раздел Management Tools при установки модулей). После соответствующей установки консоль управления IIS 7.0 можно найти, как дочернюю запись внутри раздела Web Server (IIS) в разделе ролей Server Manager, либо как пункт в разделе Administrative Tools меню Start, либо выполнив команду inetmgr (в командной строке или через пункт Run того же меню Start).

2. При старте консоль Internet Information Services (IIS) Manager открывается с «домашней страницей», на которой в виде панелей находится информация о том, к каким веб серверам и веб сайтам подключался пользователь консоли до этого (если консоль только установлена вместе с ролью Web Server (IIS), то в консоле присутствует запись только о локальном веб сервере), также присутствуют ссылки для выбора подключения к другим серверам, веб сайтам, веб приложениям и папкам, а также ссылки на внешние ресурсы, посвященные IIS.

3. Кроме того, на домашней странице присутствует панель новостей, которые подгружаются как новостная RSS-лента с сайта www.iis.net, если администратор нажимает на ссылку Enable IIS News. Новости, кстати, очень полезные, рекомендуется включать и использовать эту информацию в повседневной работе.

4. При подключении к какому либо веб серверу IIS 7.0 консоль Internet Information Services (IIS) Manager представляет его конфигурацию, как логическую структуру – уровень самого веб сервера, чьи настройки являются глобальными и распространяются по умолчанию на все веб сайты, пулы приложений и, сообственно, веб сайты со своими настройками. Эта конфигурационная иерархия, в виде разворачивающегося дерева, начинающегося с узла с именем (или IP) веб сервера, отображается в левой панели консоли Internet Information Services (IIS) Manager.

5. Если выбрать какой-то узел в дереве конфигурации, то в центральной панель консоли Internet Information Services (IIS) Manager будут отображены в виде отдельных иконок все параметры (а также – модули или списки), соответствующие конфигурации выбранного узла, а в правой панели – набор контекстных задач и операций, которые администратор (или пользователь) может выполнить над данным узлом.

6. Выбираем верхний узел, узел веб сервера, в котором представлены иконки, отвечающие за параметры работы модулей всего веб сервера, эти параметры наследуются по умолчанию для всех веб сайтов. Убеждаемся, что все необходимые модули установлены и отображены. Снимок экрана при установке конфигурации по умолчанию приведен ниже.

7. В правой панели при выборе узла веб сайта отображаются все операции, возможные для выполнения непосредственно с веб сервером (службами IIS в целом) в данном конексте – перезапуск, останов, запуск, переход к пулам приложений и сайтам.

8. Убеждаемся, что пулы приложений (Application Pools) сконфигурированы. Пулы приложений будут рассмотрены позже. Пулы являются дочерним узлом в дереве конфигурации для узла веб сайта. При установке по умолчанию создается только один пул – DefaultAppPool, в котором регистрируется одно приложение – сконфигурированный по умолчанию веб сайт, работу которого мы уже проверили. См. снимок экрана.

9. Ниже узла пулов приложений в дереве конфигурации находится узел веб сайтов (Sites), при выборе которого отображается список работающих на данном веб сервере веб сайтов. По умолчанию создается один веб сайт под названием Default Web Site с внутренним номером (ID) равным 1, «привязанный» на 80 порт всех IP-адресах всех сетевых интерфейсов к любому URL в запросе, и использующий в качестве домашнего каталога своего контента каталог с путем %SystemDrive%\inetpub\wwwroot (что при установленном Windows Server 2008 на диск C: соответствует C: \inetpub\wwwroot).

10. При выборе в левой панели консоли узла веб сайта (Default Web Site), также, как и в случае с выбором узла веб сервера, в центральной панели отображаются иконки для доступа к параметрам конфигурации различных модулей, на этот раз – конкретного веб сайта. Убеждаемся, что также, как и в случае со всем веб сервером, все необходимые модули представлены в центральной панели.

11. В правой панели консоли, аналогично панели для всего веб сервера, отображаются контекстные команды, правда, на этот раз их список серьезно расширен – старт/стоп/перезапуск процесса веб сайта, просмотр его базовых и расширенных настроек (а не параметров модулей), настройки привязки (адрес, порт, доменное имя – по сочетанию которых будет отвечать на запросы данный веб сайт) и т.п.

В принципе, для базовой проверки работоспособности и целостности установки данных шагов вполне достаточно. Но если вы хотите поближе познакомиться с «полным» набором настроек и конфигурацией «по умолчанию» – то можете проделать следующие шаги.

12. Выберите узел веб сервера в дереве конфигурации в левой панели консоли Internet Information Services (IIS) Manager. В центральной панели кликните на иконку Modules. В центральной панели откроется следующий полный список установленных по умолчанию модулей, представляющий из себя перечень .dll файлов.

13. Чтобы убедиться, что веб сервер будет работать только со статическими файлами (по умолчанию) или только с нужными вам расширениями – выберите снова узел веб сервера и в центральной панели кликните на иконку Handler Mappings. Откроется список «привязки» расширений вызываемых на веб сайте пользователем файлов и привязанных к данным расширениям модулям, выполняющим обработку данного вызова. Обратите внимание, что по умолчанию все файлы привязаны к модулю обработки статических файлов (т.е. запрос какого либо скриптового или исполнимого файла из домашнего каталога веб сайта не будет приводить к его исполнению на сервере, а лишь к передаче данного файла пользователю), а также к модулям документа по умолчанию и просмотра каталога. С этими модулями мы познакомимся позже.

14. И, наконец, для того, чтобы убедиться в безопасности веб сайта – проверьте параметры его аутентификации. Для этого выбираем иконку Authentication в той же центральной панели. По умолчанию никаких модулей аутентификации веб сервер (и веб сайты) не поддерживает. Т.е. все подключения для него анонимны. В чем безопасность? Это значит, что пользователям будет доступен только то содержимое домашних каталогов сайтов – файлы и подкаталоги – которые имеют NTFS разрешения для чтения «всем» (Everyone). В случае, если таких разрешений файл не имеет, пользователю будет отказано в доступе с соответствующей ошибкой 401. Если же пользователь попробует каким-то образом аутентифицироваться в процессе HTTP запроса на сервере – то поскольку никаких модулей аутентификации, кроме анонимного, на веб сервере не установлено – он снова получит соответствующую ошибку 401.

Такие настройки безопасности по умолчанию – только анонимные пользователи – позволяют гарантировать защиту данных на сервере, для которых требуются соответствующие разрешения, а также – что механизм аутентификации веб сервера (которого в данном случае просто нет) не будет использован для перебора паролей и прочих попыток «взлома» через учетные записи.

Итак, сервер установлен и его работоспособность проверена. Теперь достаточно поместить какой либо статический контент (файлы HTML, изображения, документы и файлы для выгрузки пользователями) в домашний каталог его сайта по умолчанию (напоминаю, что это в большинстве случаев C:\inetpub\wwwroot) – и веб сайт под управлением IIS 7.0 начнет работать. Ну, и конечно, для внешних сайтов – не забыть прописать их A-record в вашей доменной зоне на публичном DNS сервере.

В следующей части – установка IIS 7.0 в режиме командной строки, особенности работы IIS 7.0 на Server Core.

Iis справочник по периодам ожидания

Обновлен: Ноябрь 2007

В этом разделе описывается перемещение веб-приложений из IIS версии 6.0 в IIS 7.0. Веб-приложение в IIS 7.0 может быть настроено на использование в классическом или интегрированном режиме. В классическом режиме поддерживается обратная поддержка с ранними версиями IIS путем использования расширения ISAPI для вызова среды выполнения ASP.NET. Этот параметр часто предполагает минимальные изменения (или их отсутствие) в существующих приложениях.

Интегрированный режим IIS 7.0 является унифицированным конвейером обработки запросов, который объединяет конвейер запросов ASP.NET с базовым конвейером запросов IIS. Интегрированный конвейер обеспечивает улучшенную производительность, модульность при настройке и администрировании, а также гибкость расширения IIS модулями с управляемым кодом. Например, можно указать модуль с управляемым кодом в папке App_Code веб-приложения и зарегистрировать его для ответа на все запросы IIS (включая запросы статических файлов).

Использование интегрированного режима IIS 7.0 может предполагать внесение небольших изменений в файл Web.config. Небольшие изменения могут также потребоваться, если приложение использует любые пользовательские модули с интерфейсом IHttpModule .

Общие сведения относительно конвейера обработки запросов в интегрированном режиме IIS 7.0 см. в разделе Общие сведения о жизненном цикле приложения ASP.NET для служб IIS 7.0 . При использовании IIS 7.0 приложения могут выполняться на сервере как в классическом, так и интегрированном режиме. И классический, и интегрированный режимы поддерживают .NET Framework, версия 2.0 и более поздние версии. .NET Framework версии 1.1 поддерживается только в классическом режиме. Для получения более подробной информации относительно обновления IIS до IIS 7.0 см. документ Обновление приложений ASP.NET до IIS 7.0: различия между встроенным и классическим режимами IIS 7.0 (на английском языке).

Информация в данном разделе может использоваться для перемещения веб-приложений из IIS 5.x в IIS 7.0. Вместе с тем могут потребоваться дополнительные изменения (не описанные в данном документе). Дополнительные сведения см. на странице Обновление ASP.NET 1.1 IIS7 в Windows Server 2003, Windows XP и Windows 2000.

В этом разделе содержатся следующие подразделы:

При переводе веб-приложения ASP.NET в интегрированный режим IIS 7.0 необходимо обновить файл Web.config. IIS 7.0 предполагает изменения, необходимые для возможности администрирования файлов Web.config, и изменения в типах параметров, хранящихся в файлах Web.config. Новые параметры сохраняются в разделе конфигурации system.webServer .

В IIS 6.0 оснастка ASP.NET MMC предоставляет функции администрирования IIS, позволяющие настраивать ASP.NET. Дополнительные сведения см. в разделе Пошаговое руководство. Настройка приложений ASP.NET в IIS 6.0 с помощью консоли управления (MMC) .

В IIS 7.0 администрирование приложений ASP.NET более интегрировано с администрированием IIS (без отдельной оснастки). Вместо этого настройка IIS и ASP.NET выполняется при помощи IIS Manager. Так как данные конфигурации IIS 7.0 сохраняются в системе конфигураций .NET Framework, файл Web.config приложения, которое выполняется в IIS 7.0, содержит параметры веб-сервера и ASP.NET. Например, в файле Web.config приложения ASP.NET, которое выполняется в IIS 7.0, можно указать файл по умолчанию, в который будет осуществляться переход, если обозреватель не запрашивает определенный файл. (В IIS 6.0 и более ранних версиях это обеспечивалось при помощи параметра в метабазе IIS.)

Редактирование файлов Web.config

Файл Web.config веб-приложения, выполняющегося в IIS 7.0, можно редактировать следующим образом:

Непосредственным редактированием файла Web.config, при помощи Visual Studio или Visual Web Developer, или же при помощи текстового редактора.

При помощи IIS Manager. Дополнительные сведения см. в разделе Диспетчер Internet Information Services (IIS).

Использование средства администрирования веб-узла ASP.NET. Дополнительные сведения см. в разделе Средство администрирования веб-узла ASP.NET .

Примечание.

Изменения в средстве администрирования веб-узла не влияют на дочерние элементы конфигурации в system.webServer .

Использование средства командной строки служб IIS 7.0 (Appcmd.exe). Данная служебная программа позволяет вводить параметры конфигурации IIS и веб-приложения в командной строке. Дополнительные сведения см. в разделе Программа командной строки IIS 7.0 (IIS 7.0 Command-Line Tool).

Раздел system.webServer

Раздел конфигурации system.webServer в файле Web.config содержит параметры IIS 7.0, применяемые в веб-приложении. Раздел system.WebServer является дочерним элементом конфигурации. Дополнительные сведения см. на веб-странице IIS 7.0: system.webServer Section Group (IIS Settings Schema).

Примеры параметров веб-сервера, доступные для установки в группе настроек конфигурации system.WebServer , включают:

Стандартный документ, возвращаемый веб-сервером клиенту, если запрос не содержит указание на определенный ресурс (элемент defaultDocument ).

Параметр сжатия ответных сообщений (элемент httpCompression ).

Пользовательские заголовки (элемент customHeaders раздела httpProtocol ).

Модули (элемент modules ).

Обработчики (элемент handlers ).

Некоторые параметры применимы только в интегрированном режиме IIS 7.0 и неприменимы в классическом режиме. Например, если приложение выполняется в классическом режиме, все модули с управляемым кодом и обработчиками, указанными в разделе system.WebServer файла Web.config, будут проигнорированы. Вместо этого модули с управляемым кодом и обработчики должны быть описаны в ранних версиях IIS путем использования элементов httpModules и httpHandlers в разделе system.web.

Примеры использования раздела конфигурации system.webServer см. Практическое руководство. Настройка раздела для служб IIS 7.0 .

В общем случае перевод веб-приложений IIS 6.0 в классический режим IIS 7.0 предполагает перемещение в пул приложений, которые выполняются в классическом режиме. Например, при установке IIS 7.0 и веб-сервер по умолчанию сконфигурирован на работу в интегрированном режиме. Сервер также сконфигурирован на работу с стандартным пулом приложений DefaultAppPool . Чтобы запустить веб-приложение в классическом режиме, используйте приложение Classic.NETAppPool или создайте новый пул приложений, настроенный для работы в классическом режиме. Для получения более подробной информации относительно создания пула приложений см. раздел Создание пула приложений.

Все пользовательские модули, использующие интерфейс IHttpModule в приложениях в классическом режиме, уведомляются только о тех запросах конвейера, которые обрабатываются в среде выполнения ASP.NET. Например, о запросах страниц .aspx. Жизненный цикл приложения в классическом режиме является идентичным жизненному циклу ASP.NET в IIS 6.0. Дополнительные сведения см. в разделе Общие сведения о жизненном цикле приложения ASP.NET для IIS 5.0 и 6.0 .

Если приложение, которое выполняется в классическом режиме, содержит обработчик, требующий наличия карты сценариев для обработки пользовательского расширения в IIS, необходимо зарегистрировать обработчик как в группе httpHandler , так и в группе handler . Нужно сопоставить пользовательское расширение имени файла ASP.NET ISAPI (Aspnet_isapi.dll) указанием атрибутов modules и scriptProcessor в элементе handler . Эти атрибуты указывают, что модуль, описывающий обработчик, является расширением ISAPI, и указывают путь к расширению. Таким образом, в IIS 7.0 в классическом режиме обеспечивается обратная совместимость с более ранними версиями IIS. Вместе с тем при выполнении приложения в интегрированном режиме необходимо удалить атрибуты modules и scriptProcessor . Дополнительные сведения см. в разделе Практическое руководство. Настройка расширений для обработчиков HTTP-данных в IIS .

При переводе веб-приложения IIS 6.0 в классический режим работа без изменений в интегрированном режиме не гарантируется. Если приложение переводится из классического режима в интегрированный (и изменениях в пользовательских модулях и обработчиках), может потребоваться внести дополнительные изменения в приложение, которые обеспечат правильную работу в интегрированном режиме. Следующий раздел описывает процесс перевода приложения в интегрированный режим IIS 7.0.

Веб-приложения, не содержащие пользовательских модулей или обработчиков, скорее всего будут работать в IIS 7.0 без каких-либо изменений. Если веб-приложения содержат ссылки на пользовательские модули или обработчики, для работы в интегрированном режиме необходимо выполнить следующие действия:

Зарегистрировать пользовательские модули и обработчики в разделе system.webServer файла Web.config при помощи методов, описанных в разделе Миграция файла Web Config в интегрированный режим далее.

Определите обработчики событий для событий конвейера запросов HttpApplication , таких как BeginRequest и EndRequest , только в методе Init пользовательского модуля.

Убедитесь, что изучены все вопросы, описанные в разделе «Различия между интегрированным режимом и классическим режимом» документа Обновление приложений ASP.NET до IIS 7.0: различия между встроенным и классическим режимами IIS 7.0 (на английском языке).

Модули, использующие интерфейс IHttpModule , будут указаны как модули с управляемым кодом, поскольку они созданы с помощью .NET Framework. Модули с управляемым кодом могут регистрироваться на уровне сервера или на уровне приложений. Модули с машинным кодом являются файлами DLL (неуправляемый код) и регистрируются только на уровне сервера. Ключевые функции ASP.NET, например состояния сеанса и проверка подлинности в формах, реализованы в виде модулей с управляемым кодом в интегрированном режиме.

При переводе приложения из классического в интегрированный режим можно оставить регистрацию пользовательских модулей и обработчиков в классическом режиме или удалить ее. Если регистрации httpModules и httpHandlers в классическом режиме не будут удалены, необходимо установить validation атрибутов элемента validateIntegratedModeConfiguration , чтобы избежать ошибок false . Элемент validation является дочерним для элемента system.webServer . Дополнительные сведения см. в подразделе «Отключение сообщения о миграции» (Disabling the migration error message) раздела Интеграция ASP.NET и служб IIS 7.0 (ASP.NET Integration with IIS 7.0).

Миграция файла Web.config в интегрированный режим

Если модуль или обработчик описаны на уровне приложений, модуль или обработчик не вызываются автоматически. Это относится к модулям и обработчикам, описанным в папке Bin folder или как исходный код в папке App_Code, и не описанным в разделе system.webServer файла Web.config. Чтобы обеспечить включение модуля или обработчика в конвейер обработки запросов в интегрированном режиме, необходимо зарегистрировать модуль (обработчик) одним из методом:

Непосредственно отредактировать файл Web.config, добавив элемент modules или handlers в элемент system.webServer . Следует учесть различия в имени элемента в классическом режиме — modules сравнивается с httpModules и с httpHandlers.


IIS Manager используется для изменения конфигурации модуля или обработчика. Более подробную информацию см. в разделах Конфигурация сопоставлений обработчиков в IIS 7.0 и Конфигурация модулей в IIS 7.0 (на английском языке).

Используйте программу командной строки IIS 7.0 (Appcmd.exe). Более подробную информацию см. в разделе Конфигурация параметров веб-узлов, приложений, виртуальных каталогов или URL-адресов при помощи Appcmd.exe(на английском языке).

Классы и свойства в интегрированном режиме

При работе с приложением в интегрированном режиме IIS 7.0 в версии.NET Framework 3.0 или более поздней можно использовать следующие классы и члены, недоступные в классическом режиме:

Свойство SubStatusCode объекта HttpResponse , которое позволяет устанавливать коды, использующиеся при конфигурации трассировки неудачных запросов. Дополнительные сведения см. в статье Устранение неполадок, связанных со неудачными запросами, с помощью трассировки неудачного запроса в службах IIS 7.0.

Свойство Headers объекта HttpResponse , предоставляющее доступ к заголовкам ответов.

Свойства IsPostNotification и CurrentNotification объекта HttpContext , которые используются при предоставлении обработчиков событий HttpApplication .

Свойства Headers и ServerVariables объекта HttpRequest , доступные для изменения.

«Уильям Р. Станек Microsoft Internet Information Services 5.0 Справочник администратора Подробный справочник по . »

Поле Status Code Шестое поле записи в стандартном формате журнала. Код состояния показывает, успешно ли передан файл, был ли он загружен из кэша, не найден и т. д. Обычно код состояния включает три цифры, первая из которых указывает его класс или категорию.

Табл. 11-2. Классы кодов состояния Код класса Описание 1XX Продолжение/смена протокола 2ХХ Успешное выполнение ЗХХ Перенаправление 4ХХ Отказ/ошибка клиента ЗХХ Ошибка сервера Коды состояния, начинающиеся с единицы, очень редки, и поэтому вам следует запомнить лишь четыре других кате гории кодов. Коды состояния на 2 указывают, что соответ ствующий файл передан успешно, на 3 — что сервер отослал вас к другому ресурсу, на 4 — что произошла ошибка или Ведение журналов и контроль пользовательского доступа Глава 11 сбой на клиентском компьютере, на 5 — что произошла ошибка на сервере.

Поле Transfer Volume Последнее поле записи в стандартном формате журнала указывает число байт, переданных клиенту в ответ на его запрос. В следующем примере клиенту передано 4 096 байт:

net48.microsoft.com — ENGSVR01\wrstanek [15/Jan/2001:18:45: -0800] «GET / HTTP/1.1» 200 Число переданных байт отображается, только если код со стояния указывает на успешную передачу файла. В против ном случае поле Transfer Volume будет содержать тире (-) или 0, показывая, что данные не передавались.

Формат файла журнала Microsoft IIS Как и стандартный формат, формат файла журнала Microsoft (IS является фиксированным (ненастраиваемым) ASCII-фор матом. В этом формате регистрируется больше данных. Кро ме того, журнал форматируется как обычный ASCII-текст, и его можно открывать в любом стандартном текстовом ре дакторе или совместимом с ним приложении.

Формат журнала Microsoft IIS используется, если не требу ется подробная информация и нужно лишь чуть больше сведений о доступе, чем содержит стандартный журнал. За писи такого журнала компактны, и это снижает требования к свободному дисковому пространству в сравнении с расши ренным или ODBC-журналом.

Ниже приведено несколько записей из журнала формата Mic rosoft IIS. Записи журнала IIS включают как стандартные (IP-адрес клиента, имя пользователя, прошедшее проверку подлинности, время и дата запроса, HTTP-код состояния, число принятых сервером байт), так и дополнительные поля (например имя Web-службы, IP-адрес сервера и время ра боты). Заметьте: записи разделены запятыми и имеют зна чительно больший, чем в стандартном журнале, размер.

192.14.16.2, -, 12/28/2000, 20:55:25, W3SVC1, ENGSVRQ1, 192.15.14.81, 0, 594, 3847, 401, 5, GET, /localstart.asp, -, 192.14.16.2, ENGSVR01\wrstanek, 12/28/2000, 20:55:25, W3SVC1, ENGSVR01, 192.15.14.81, 10, 412, 3406, 404, 0, GET, / localstart.asp, I -101404_ObJ ect_Not_Found, 386 Часть IV Производительность, оптимизация и поддержка 192.14.16.2, -, 12/28/2000, 20: 55:29, H3SVC1, ENGSVR01, 192.15.14.81, 0, 622, 3847, 401, 5, GET, /IISHelp/iis/misc/ d e f a u l t. a s p, -, 192.14.16.2, ENGSVR01\wrstanek, 12/28/2000, 20:55:29, W3SVC1, ENGSVR01, 192.15.14.81, 10, 426, 0, 200, 0, GET, /IISHelp/iis/ misc/default.asp, -, 192.14.16.2, ENGSVR01\wrstanek, 12/28/2000, 20:55:29, W3SVC1, ENGSVR01, 192.15.14.81, 10, 368. 0, 200, 0, GET, /IISHelp/iis/ misc/contents.asp, -, 192.14.16.2, -, 12/28/2000, 20: 55:29, W3SVC1, ENGSVR01, 192.15.14.81, 0, 732, 3847, 401, 5, GET, /IISHelp/iis/misc/ n a v b a r. a s p, -, 192.14.16.2, -, 12/28/2000, 20: 55:29, W3SVC1, ENGSVR01, 192.15.14.81, 0, 742, 3847, 401, 5, GET, /IISHelp/ils/htm/ core/iiwltop.htm, -, 192.14.16.2, ENGSVR01\wrstanek, 12/28/2000, 20:55:29, W3SVC1, ENGSVR01, 192.15.14.81, 20, 481, 0, 200, 0, GET, /IISHelp/iis/ misc/navbar.asp, -, 192.14.16.2, ENGSVR01\wrstanek, 12/28/2000, 20:55:29, W3SVC1, ENGSVR01, 192.15.14.81, 91, 486, 6520, 200, 0, GET, /IISHelp/ iis/htm/core/iiwltop.htm, -, Ниже перечислены поля, поддерживаемые службами IIS (табл. 11-3). Порядок перечисления соответствует обычно му порядку записи полей в журнал.

Поля записей журнала в формате Microsoft IIS Табл. 11-3 Название поля Описание Пример Client IP IP-адрес клиента 192.14.16. Username Имя пользователя, ENGSVROl\ прошедшее проверку wrstanek подлинности Date Дата завершения транзакции 12/28/ Time Время завершения 20:55: транзакции Service Имя Web-службы, W3SVC регистрирующей транзакцию Computer Name Имя компьютера. ENGSVR сделавшего запрос Server IP IP-адрес Web-сервера 192.15.14. Elapsed Time Время (в миллисекундах) на завершение транзакции Ведение журналов и контроль пользовательского доступа Глава 11 (продолжение) Табл. 11 -3.

Название поля Описание Пример Bytes Received Число байт, принятых [ сервером в запросе клиента Bytes Sent Число байт, переданных клиенту Status Code HTTP-код состояния Windows Status Код состояния ошибки О Code (Windows) Method Used Тип HTTP-запроса СЕТ /localstart.asp File URI Запрошенный файл Refer er Ссылающийся объект — http:// ресурс, с которого пригнел www.microsoft.com/ пользователь Расширенный формат файла журнала W3C Значительно отличается от обсуждавшихся выше, представ ляет собой настраиваемый формат, включающий множество различных полей. Помните, что с каждым дополнительным полем увеличивается размер записей журнала и могут силь но возрасти требования к свободному дисковому простран ству.

Вот несколько записей из расширенного журнала. Как и в стандартном журнале, поля записей расширенного журнала разделены пробелами.

«Software: Microsoft Internet Information Services 5. «Version: 1. «Date: 2000-12-29 05:27: «Fields: date time c-ip cs-username s-ip s-port cs-method cs uri-stem cs-uri-query sc-status cs(User-Agent) 2000-12-29 05:27:58 192.14.16.2 ENGSVR01\wrstanek 192.14.15. 80 GET /iishelp/iis/htm/core/iierrcst.htm — 304 Hozilla/ 4.0+(compatible;

+Windows+NT+5.0) 2000-12-29 05:28:00 192.14.16.2 ENGSVR01\wrstanek 192.14.15. 80 GET /iishelp/iis/htm/core/iierrdtl,htm — 304 Mozilla/ 4.0+(compatible;

+Windows+NT+5.0) 2000-12-29 05:28:02 192.14.16.2 ENGSVR01\wrstanek 192.14.15. 80 SET /iishelp/iis/htm/core/iierrabt.htm — 200 Mozilla/ 4.0+(compatible;

+Windows+NT+5.0) 2000-12-29 05:28:02 192.14.16.2 ENGSVR01\wrstanek 192.14.15. 80 GET /iishelp/iis/htm/core/iierradd.htm — 200 Mozilla/ 388 Производительность, оптимизация и поддержка Часть IV 4.0+Ccompatible;

+Windows+NT+5.0) 2000-12-29 05:28:05 192.14.16.2 ENGSVR01\wrstanek 192.14.15. 80 GET /iishelp/iis/htm/core/iiprstop.htm — 200 Hozilla/ 4.0+(compatible;

+Windows+NT+5.0) На первый взгляд записи расширенного журнала могут по казаться сложными, так как включают директивы сервера и файловые запросы. Однако директивы сервера всегда начи наются со знака #, и их легко отличить от файловых запро сов. Ключевые директивы, которые вы увидите, идентифи цируют ПО сервера и записываемые поля (табл. 11-4).

Табл. 11-4. Директивы, используемые в расширенном формате файла журнала Директива Описание Date Дата и время занесения записей в журнал End-Date Дата и время закрытия и архивирования журнала Fields Используемые поля и их порядок в файле журнала Remark Комментари и Software Серверное ПО, создавшее записи журнала Start-Date Дата и время начала ведения журнала Version Версия используемого расширенного формата файла журнала У большинства нолей записей расширенного журнала есть префиксы, указывающие, как используется или было полу чено конкретное поле (табл. 11-5). Так, префикс cs указы вает, что поле создано на основании запроса, переданного клиентом серверу.

Табл. 11-5. Префиксы полей расширенного журнала Префикс Описание с Поле, относящееся к клиенту s Поле, относящееся к серверу г Поле, относящееся к удаленному серверу cs Поле, созданное на основании запроса, переданного клиентом серверу sc Поле, созданное на основании запроса, переданного IIS-сервером клиенту sr Поле, созданное на основании запроса, переданного Web-сервером удаленному серверу (используется про кси-серверами) Ведение журналов и контроль пользовательского доступа Глава 11 (продолжение] Табл. 11 -5.

Префикс Описание rs Поле, созданное на основании запроса, переданного уда ленным сервером IIS-серверу (используется прокси серверами) х Префикс, специфичный для приложений Все поля записей расширенного журнала имеют идентифи катор, который расшифровывает тип информации, содержа щейся в данном поле. Для создания поименованного поля IIS может объединить префикс и идентификатор поля или просто задействовать идентификатор. Ниже перечислены наиболее распространенные имена полей (табл. 11-6). Мно гие из приведенных полей напрямую связаны с уже обсуж давшимися полями записей стандартного и расширенного журналов. Основное же отличие в том, что расширенный формат предоставляет гораздо больше информации.

Табл. 11-6. Идентификаторы полей, применяемые в расширенном журнале Описание Имя поля Тип поля cs-bytes Число байт, принятых сервером Bytes Received Bytes Sent sc-bytes Число байт, переданных сервером c-ip IP-адрес клиента, обратившего Client IP Address ся к серверу cs(Cookie) Содержимое принятого/пере Cookie данного файла cookie (если таковой был) date Дата транзакции Date sc-status HTTP-код состояния Http Status cs-metbod Тип HTTP-запроса Method Used cs-protocol Версия протокола, используе Protocol Version мая клиентом cs(Referer) Предыдущий узел, посещенный Referer пользователем (узел, ссылаю щийся на ваш Web-узел) s-ip IP-адрес IIS-сервера Server IP s-computername Имя IIS-сервера Server Name s-port Номер порта, к которому под Server Port ключился клиент Производительность, оптимизация и поддержка 390 Часть IV (продолжение] Табл. 11-6.

Имя поля Описание Тип поля Имя и номер экземпляра служ Server Name and s-sitename бы Интернета, выполнявшейся Instance Number на сервере Time time Время транзакции Time Taken time-taken Время (в миллисекундах) на завершение транзакции URI Query cs-uri-qiiery Параметры, переданные в зап росе (если таковые передава лись) URI Stem cs-uri-stem Запрошенный ресурс User Agent cs(User-Agent) Тип и версия клиентского бра узера User Name c-username Имя пользователя, прошедшего проверку подлинности Win32 Status sc-Win32-status Код состояния ошибки (Windows) Помимо регистрации запросов на доступ, IIS также может регистрировать связанную с HTTP-запросами информацию об использовании ресурсов процессами. Учетная информа ция процессов помогает определить объем ресурсов процес сора, занимаемый отдельным Web-узлом. Но помните: реги страция учетной информации процессов возможна лишь для пнепроцессных приложений. Для групповых и выполняю щихся в процессе приложений это невозможно.

Ниже приведены поля для регистрации учетной информа ции процессов (табл. 11-7). Просмотрев файл журнала, для которого была включена и сконфигурирована регистрация учетной информации процессов, вы наряду с обычными за писями увидите записи об использовании ресурсов.

Табл. 11-7. Поля с учетной информацией процессов, используемые в расширенных журналах Тип поля Имя поля Описание Active Processes s-aclive-prors Число CGI- (Common Gateway Interface) и внепроцессных приложений, запущенных на момент занесения записи в журнал Ведение журналов и контроль пользовательского доступа Глава 11 (продолжение] Табл. 11-7.

Тип поля Имя поля Описание Process Event s-event Запущенное событие Process Type Тип процесса, запустившего s-proc-type событие: CGI, внеироцессное приложение или оба Total Kernel Time s-kernel-time Общее время процессора в ре жиме ядра (в секундах) на про тяжении текущего интервала Число ссылок памяти, привед Total Page Faults s-page-taults ших к страничным ошибкам памяти Число CGI- и инепроцессных Total Processes s-total-procs приложений, созданных на про тяжении текущего интервала Total Terminated s-stopped-procs Число CGI- и внепроцессных приложений, остановленных в Processes результате регулирования про цессов Общее время процессора в Total User Time s-user-time пользовательском режиме (в секундах) на протяжении текущего интервала Формат журнала ODBC Применяется для записи информации о доступе прямо в ODBC-совместимую БД, например Microsoft Access или SQL Server 2000. Основное преимущество ODBC-журнала в том, что записи заносятся в БД в формате, который упрощает их чтение и анализ с помощью соответствующего ПО. Главный минус — необходимость наличия навыков конфигурирова ния и поддержки баз данных.

При ведении ODBC-журнала вам потребуется сконфигури ровать имя источника данных (Data Source Name), позволя ющее службам IIS подключаться к вашей БД. Нужно также создать БД, куда будут заноситься записи;

она должна вклю чать таблицу с соответствующими полями.

Обычно сведения от нескольких узлов помещаются в раз ные таблицы одной БД. Так, если надо регистрировать в БД сведения об HTTP-, FTP- и SMTP-доступе и соответствую щие службы выполняются на разных узлах, можно создать в БД таблицы IITTPLog, FTPLog и SMTPLog. Они будут Производительность, оптимизация и поддержка 392 Часть IV включать поля с типами данных, перечисленные ниже (табл. 11-8). Определите поля именно так, как показано в таблице. Не волнуйтесь: в IIS есть LOGTEMRSQL — сце нарий, позволяющий создать нужные таблицы. Он находится в папке \%WmDir%\System32\Inetsrv.

Примечание При использовании сценария LOGTEMP.SQL не забудьте изменить имя таблицы в операторе CREATE TABLE. Имя таблицы по умолчанию — inetlog. Подробнее об использовании SQL-сценариев — в книге «Microsoft SQL Server 2000. Administrator’s Pocket Consultant» издательства Microsoft Press, 2001 r.

Поля ODBC-журнала Табл. 11-8.

Имя поля Тип данных Описание ClientHost varchar(255) IP-адрес клиента, обратившегося к серверу Username varchar(2:>5) Имя пользователя, прошедшего проверку подлинности LogTime datetime Дата и время транзакции r Service varchar(2, J5) Имя и номер экземпляра службы Интернета, выполнявшейся на сервере Machine varchar(255) Имя компьютера, сделавшего запрос ServerIP varchar(SO) IP-адрес US-сервера ProcessingTime int Время (в миллисекундах) на завер шение транзакции BytesRecvd int Число байт, принятых сервером BytesSent int Число байт, переданных сервером ServiceStatus int HTTP-код состояния Wm32Status int Код состояния ошибки (Windows) Operation varchar(255) Тин HTTP-запроса Target varchar(255) Запрошенный ресурс Parameters varchar(255) Параметры, переданные в запросе (если таковые передавались) О ведении журналов узлов Если включено веление журнала IIS, при обращении пользо вателей к серверу генерируются новые записи. В результа те размер и число файлов журнала стабильно увеличивают Ведение журналов и контроль пользовательского доступа Глава 11 ся. На сервере с большим число посетителей журнал может быстро увеличиться до нескольких гигабайт, и, следователь но, вам требуется найти компромисс между потребностью в сведениях о доступе и уменьшением журнала до приемле мого размера.

Совет Помните: файлы журнала — это текстовые файлы / | формата ASCII, и поэтому их, как и любой ASCII-файл, можно произвольно разделять и объединять. Если при за несении записи в журнал на сервере кончается свободное дисковое пространство, службы IIS останавливаются, и в журнал приложений (Application log) помещается сообщение об ошибке. При появлении свободного пространства IIS во зобновляют работу и заносят в журнал приложений сооб щение о своем запуске.

Включая ведение журнала, вы указываете, где и как будут создаваться и храниться файлы журнала (табл. 11-9). Файлы могут создаваться по расписанию (например, каждый час, день, неделю, месяц) и иметь фиксированный (например, 100 Мб) или неограниченный размер. Имя файла журнала идентифи цирует его формат, время создания или порядковый номер.

Правила именования файлов журналов Табл. 11-9.

Период, охватываемый Формат журнала информацией в журнале Имя файла Microsoft IIS По размеру файла INET SVJ\W.LOG Неограниченный INETSVAW.LOG шгтммддчч.шс Час плггммдд.шс День Неделя INITMMHH.LOG IN/TJWM.LOG Месяц NCSAAW.LOG Стандартный По размеру файла формат файла Неограниченный NCSAAW.LOG ксггммддчч.юс журнала NCSA Час тлсггммдд.юс День Неделя NCITMMHH.LOG NC/TMM.LOG Месяц Расширенный По размеру файла EXTENDAW.LOG формат файла Неограниченный EXTENDMV.LOG журнала W3C ЕХГГММДДЧЧ-LOG Час День ЕХГГММДД.ШС Неделя ЕХГТММНН.ШС Месяц ЕХГГЛ/M.LOG Производительность, оптимизация и поддержка 394 Часть IV По умолчанию файлы журнала помещаются в папку \%Win Dir%\System32\LogFilcs. Однако это можно изменить и за писывать файлы журнала, например, в панку D:\LogFiles.

Независимо от того, в какой лапке хранятся файлы журна ла, в ней будут созданы вложенные папки для всех служб, регистрирующих сведения о доступе.

Синтаксис именования вложенных папок для узлов таков;

Здесь N — порядковый номер службы. Первый созданный сервер будет иметь порядковый номер 1, второй — 2 и т.д.

Таким образом, вложенные папки с журналами узлов могут называться W3SVC1, W3SVC2 и т. д.

Примечание Из-за частого удаления и добавления узлов р:;

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

Включение ведения журналов для HTTP-, FTP- и SMTP-узлов Теперь, когда вы знаете, как создаются и используются фай лы журналов, мы подробно рассмотрим включение и конфи гурирование ведения журналов.

Конфигурирование стандартного формата файла журнала NCSA Стандартный формат файла журнала NCSA применяется только для HTTP- и SMTP-узлов. Данный формат журнала следует использовать, если вам нужны лишь общие сведе ния о доступе к узлу. Журнал такого формата содержит за писи небольшого размера, и это снижает требования к сво бодному дисковому пространству для ведения журнала.

Ведение стандартного журнала включается и конфигуриру ется так.

1. Запустите оснастку Internet Information Services и затем в левой панели раскройте узел нужного компьютера. Если компьютер не отображается, подсоединитесь к нему в Ведение журналов и контроль пользовательского доступа Глава 11 соответствии с инструкциями раздела «Подключение к другим сериерам» глаиы 2.

2. Щелкнув значок требуемого HTTP- или SMTP-узла пра вой кнопкой, выберите в контекстном меню команду Pro perties (Свойства).

3. Пометьте флажок Enable Logging (Вести журнал) и за тем в группе Active Log Format (Формат текущего жур нала) выберите NCSA Common File Format (Общий фор мат файла журнала NCSA).

4. Щелкните Properties (Свойства). Откроется диалоговое окно NCSA Logging Properties (Свойства ведения журна ла NCSA) (рис. 11-1).

. И»**.»вйла журнала Отмена Рис. 11-1. Диалоговое окно NCSA Logging Properties (Свойства ведения журнала NCSA).5. С помощью переключателей группы New Log Time Period (Периодичность создания нового журнала) задайте вре мя создания нового файла журнала:

• Hourly (Ежечасно) — каждый час;

• Daily (Ежедневно) — и полночь;

• Weekly (Еженедельно) — в полночь воскресенья;

• Monthly (Ежемесячно) — в полночь последнего дня месяца;


Производительность, оптимизация и подцержка 396 Часть IV •Unlimited File Size (Неограниченный размер файла) файл журнала ведется постоянно, и им следует управ лять вручную;

• When File Size Reaches (При превышении размера) — по достижении заданного максимального размера фай ла (в Мб).

6. По умолчанию файлы журнала хранятся в папке \%Win Dir%\System32\ Log Files. Чтобы изменить это, введите в поле Log file directory (Каталог файла журнала) путь к нужной папке или щелкните Browse (Обзор) и выберите папку в открывшемся диалоговом окне.

7. Дважды щелкните ОК. При необходимости будут авто матически созданы папка службы и файл журнала. Если у служб IIS нет разрешения Read/Write (Чтение/Запись) для папки с файлом журнала, появится сообщение об ошибке.

Конфигурирование формата файла журнала Microsoft IIS Формат журнала Microsoft IIS применяется для HTTP-, SMTP- и FTP-узлов. Данный формат используется, если не требуется подробной информации и нужно лишь чуть боль ше сведений о доступе, чем содержится в стандартном жур нале. Записи такого журнала компактны, и это снижает тре бования к свободному дисковому пространству.

Ведение журнала формата Microsoft IIS включается и кон фигурируется так.

1. Запустив оснастку Internet Information Services, в левой панели раскройте узел требуемого компьютера. Если ком пьютер не отображается, подсоединитесь к нему в соот ветствии с инструкциями раздела «Подключение к дру гим серверам» главы 2.

2. Щелкнув правой кнопкой значок требуемого HTTP-, FTP или SMTP-узла, выберите в контекстном меню команду Properties (Свойства).

3. Пометьте флажок Enable Logging (Вести журнал) и за тем в группе Active Log Format (Формат текущего жур нала) поставьте переключатель в положение Microsoft IIS Log File Format.

Ведение журналов и контроль пользовательского доступа Глава 11 4. Щелкните Properties (Свойства). Откроется диалоговое окно Microsoft Logging Properties (Свойства ведения жур нала Microsoft) (рис, 11-2).

Ь.1.а!«1-1Г!.= Общие Ё3|емесячио г Нюгшничекныйг ввмеа Файле Рис. 11-2. Диалоговое окно Microsoft Logging Properties (Свойства ведения журнала Microsoft) Переключателями группы New Log Time Period (Перио дичность создания нового журнала) задайте время созда ния нового файла журнала:

• Hourly (Ежечасно) — каждый час;

• Daily (Ежедневно) — в полночь;

• Weekly (Еженедельно) — в полночь воскресенья;

• Monthly (Ежемесячно) — в полночь последнего дня месяца;

• Unlimited File Size (Неограниченный размер файла) — файл журнала ведется постоянно и им следует управ лять вручную;

• When File Size Reaches (При превышении размера) — по достижении заданного максимального размера фай ла (в Мб).

6. По умолчанию файлы журнала помещаются в папку \%WinDir%\Systeni32\LogFiles. Чтобы изменить это, вве дите в поле Log file directory (Каталог файла журнала) 398 Часть IV Производительность, оптимизация и поддержка путь к нужной папке или щелкните Browse (Обзор) и выберите папку в открывшемся диалоговом окне.

7. Дважды щелкните ОК. При необходимости будут авто матически созданы папка службы и файл журнала. Если у служб IIS нет разрешения Read/Write (Чтение/Запись) для папки с файлом журнала, появится сообщение об ошибке.

Конфигурирование расширенного формата файла журнала W3C Расширенный формат журнала W3C применяется для HTTP-, SMTP- и FTP-узлов. Он используется, если вам нужны лишь определенные и подробные сведения о доступе. Записи та кого журнала могут быть очень большими, и это сильно повышает требования к свободному дисковому пространству для ведения журнала. Кроме того, занесение длинных запи сей в журнал может негативно сказаться на производитель ности перегруженного сервера.

Журнал расширенного формата W3C включается и конфи гурируется так.

1. Запустив оснастку Internet Information Services, в левой панели раскройте узел требуемого компьютера. Если ком пьютер не отображается, подсоединитесь к нему в соот ветствии с инструкциями раздела «Подключение к дру гим серверам» главы 2.

2. Щелкнув правой кнопкой значок требуемого HTTP-, FTP или SMTP-узла, выберите в контекстном меню команду Properties (Свойства).

3. Пометьте флажок Enable Logging (Вести журнал) и за тем в группе Active Log Format (Формат текущего жур нала) поставьте переключатель в положение W3C Exten ded Log File Format.

4. Щелкните Properties (Свойства). Откроется диалоговое окно Extended Logging Properties (Расширенные свойства ведения журнала) (рис. 11-3).

5. С помощью переключателей группы New Log Time Period (Периодичность создания нового журнала) задайте вре мя создания нового файла журнала:

• Hourly (Ежечасно) — каждый час;

Ведение журналов и контроль пользовательского доступа Глава 11 Рис. 11-3. Диалоговое окно Extended Logging Properties (Расширенные свойства ведения журнала) • Daily (Ежедневно) — в полночь;

• Weekly (Еженедельно) — в полночь воскресенья;

• Monthly (Ежемесячно) — в полночь последнего дня месяца;

• Unlimited File Size (Неограниченный размер файла) — файл журнала недется постоянно и им следует управ лять вручную;

• When File Size Reaches (При превышении размера) — по достижении заданного максимального размера фай ла (в Мб).

6. По умолчанию новые файлы расширенного журнала со здаются с использованием времени по Гринвичу, т. е. если не указано иное, ежедневный, еженедельный и ежемесяч ный журналы будут создаваться в 00:00 GMT. Чтобы но вые файлы создавались по локальному времени, пометь те флажок Use Local Time For File Naming And Rollover (Использовать местное время в имени файла).

По умолчанию файлы журнала помешаются в папку \%WinDir%\System32\LogFiles. Чтобы изменить это, вве дите в поле Log file directory (Каталог файла журнала) 14- Производительность, оптимизация и поддержка 400 Часть IV путь к нужной папке или щелкните Browse (Обзор) и выберите папку в открывшемся диалоговом окне.

8. Перейдите на вкладку Extended Properties и укажите поля, которые следует заполнять. Обычно это:

• Client IP Address/Server IP Address (IP-адрес клиен та/Адрес IP сервера);

• URI Stem/URI Query (Ресурс URI/Запрос URI);

• Protocol Status (Состояние протокола);

• Bytes Sent/Bytes Received (Передано байт/Получено байт);

• User Agent (Агент пользователя);

• Cookie (Объект Cookie);

• Referer (Источник ссылки).

9. Дважды щелкните ОК. При необходимости будут авто матически созданы папка службы и файл журнала. Если у служб IIS нет разрешения Read/Write (Чтение/Запись) для папки с файлом журнала, появится сообщение об ошибке.

Конфигурирование журнала формата ODBC Журналы формата ODBC могут вестись для HTTP-, SMTP и FTP-узлов. Используйте их, если требуется заносить ин формацию прямо в ODBC-совместимую БД. При ведении ODBC-журнала вам потребуется трассировочное ПО, спо собное считывать информацию из БД. Записи будут ком пактными и будут считываться гораздо быстрее, чем из обычного файла журнала.

Журнал формата ODBC включается и конфигурируется так.

1. Создайте БД с помощью ODBC-совместимого ПО. Если IIS смогут подсоединяться к ней но ODBC-подключению, БД не требуется находиться на US-сервере. Для узлов с небольшим и средним трафиком можно использовать Mic rosoft. Access, а для узлов с большим трафиком — более устойчивое решение, например SQL Server 2000.

Ведение журналов и контроль пользовательского доступа Глава 11 2. В БД создайте таблицу для записей, включающую поля с;

типами данных из табл. 11-8. Создать такую таблицу поможет сценарий LOGTEMP.SQL.

3. Затем создайте DSN, при помощи которого IIS сможет подключаться к БД. Возможно, для установления соеди нения с БД вы захотите задействовать системное DSN.

При работе с SQL Server укажите способ проверки под линности учетной записи. Если вы выберете проверку средствами Microsoft Windows NT, указанная вами в IIS учетная запись должна иметь разрешение на запись в БД.

Выбрав проверку средствами SQL Server, укажите имя и пароль для доступа к БД.

4. Теперь включите ведение журнала узла и в группе Active Log Format (Формат текущего журнала) выберите ODBC Logging (Ведение журнала ODBC). При конфигурирова нии ведения журнала вам потребуется указать имя DSN, имя таблицы и реквизиты для подключения к БД.

Ниже рассказывается о конфигурировании ведения ODBC журнала с помощью SQL Server 2000 и IIS. Предполагает ся, что вы обладаете достаточным опытом администрирова ния БД SQL Server 2000. Подробнее см, книгу «Microsoft Windows 2000. Справочник Администратора».

Создание БД и таблицы журнала в SQL Server В качестве сервера для ведения журнала мож,но использо вать SQL Server. Вам потребуется создать БД и сконфигу рировать таблицу журнала. БД создается так. • 1. Запустите Enterprise Manager и затем в левой панели консоли раскройте узел группы требуемого сервера.

2. Раскройте узел требуемого сервера и, если надо, введите реквизиты для подключения и подсоединитесь.

3. Щелкнув правой кнопкой папку Databases, выберите в контекстном меню команду New Database. Откроется диалоговое окно Database Properties.

4. Перейдите на вкладку General и задайте имя БД как LoggingDB.

5. Щелкните ОК, чтобы создать базу данных.

Теперь найдите сценарий LOGTEMP.SQL. Обычно он нахо дится в папке \%WmDir%\System32\Inetsrv. Отредактируйте Производительность, оптимизация и поддержка 402 Часть IV сценарий и задайте в нем имя таблицы для журнала узла.

Например, если вам нужно назвать таблицу HTTPLog, из мените сценарий следующим образом:

Создание DSN для SQL Server Создав БД и таблицу журнала, сконфигурируйте IIS для подключения к этой БД, создав DSN.

1. Раскройте меню Start\ Sett ings (Пуск\Настройки) и вы берите Control Panel (Панель управления). В открывшем ся окне дважды щелкните Administrative Tools (Админи стрирование) и затем —Data Sources (ODBC) [Источни ки данных (ODBC)].


2. На вкладке System DSN (Системный DSN) щелкните Add (Добавить). Откроется диалоговое окно Create New Data Source (Создание нового источника данных).

3. В списке Driver Selection (Выберите драйвер) выберите SQL Server и щелкните Finish (Готово). Откроется дна Ведение журналов и контроль пользовательского доступа Глава 11 лотовое окно Create A New Data Source To SQL Server (рис. 11-4).

«кзччика Де№нын для «Ji-eeosepa Мастер помогает еоэаатьиггоч™* ванный ODBC, который можно Рис. 11-4. Диалоговое окно Create A New Data Source То SQL Server (Создание источника данных для SQL-сервера) 4. В ноле Name (Имя) наберите имя DSN, например IISDB.

5. В поле Server (Сервер) наберите имя компьютера SQL Server, к которому нужно подключиться. Если SQL Server выполняется на одном компьютере с IIS, выберите (Local). Щелкните Next (Далее).

Создаи-е -ч:точи.-ка данным дня SQL-ce Попмль параметры, исполвз^вмыв по «мбпчанию, at LJ Рис. 11-5. Выбор метода проверки подлинности учетной записи для подключения к SQL Server Производительность, оптимизация и поддержка 404 Часть IV 6. Теперь укажите метод проверки подлинности учетной записи для подключения к SQL Server (рис. 11-5). Если вы выберете проверку средствами Microsoft Windows NT, указанная нами в IIS учетная запись должна иметь раз решение на запись в БД. Выбрав проверку средствами SQL Server, укажите имя и пароль для доступа к БД.

7. Щелкните Next (Далее) и затем — Finish (Готово). Если Windows не сможет установить соединение с БД, про верьте введенные вами сведения. Возможно, вам также потребуется убедиться, что учетная запись имеет нужные разрешения доступа к БД.

Включение и конфигурирование ведения ODBC-формата в IIS Журнал формата ODBC включается и конфигурируется так.

1. Запустив оснастку Internet Information Services, раскрой те в левой панели узел нужного компьютера. Если ком пьютер не отображается, подсоединитесь к нему в соот ветствии с инструкциями раздела «Подключение к дру гим серверам» главы 2.

2. Щелкните правой кнопкой значок требуемого HTTP-, FTP- или SMTP-узла и выберите в контекстном меню команду Properties (Свойства).

3. Пометьте флажок Enable Logging (Вести журнал) и за тем в группе Active Log Format (Формат текущего жур нала) поставьте переключатель в положение ODBC Log ging (Ведение журнала ODBC).

4. Щелкните Properties (Свойства). Откроется диалоговое окно ODBC Logging Properties (Свойства ведения жур нала ODBC) (рис. 11-6).

5. В поле ODBC Data Source Name (DSN) [Источник дан ных ODBC (DSN)] наберите имя созданного вами источ ника данных.

6. В поле Table (Таблица) наберите имя таблицы журнала.

7. При проверке подлинности учетной записи средствами Windows введите в полях User Name (Имя пользовате ля) и Password (Пароль) имя и пароль для подключения к БД.

Ведение журналов и контроль пользовательского доступа Глава 11 Дважды щелкните ОК, чтобы сохранить сделанные изме нения.

Свиис iea нрден*™ журнаяа аощ. ‘ JSJ Рис. 11-6. Диалоговое окно ODBC Logging Properties (Свойства ведения журнала ODBC) Выключение ведения журнала Если вам не нужны сведения о доступе пользователей к ка кому-либо узлу, отключите ведение журнала для этого узла.

1. Запустив оснастку Internet Information Services и затем в левой панели раскройте узел требуемого компьютера.

Если компьютер не отображается, подсоединитесь к нему в соответствии с инструкциями раздела «Подключение к другим серверам» главы 2.

2. Щелкните правой кнопкой значок требуемого HTTP-, FTP- или SMTP-узла и выберите и контекстном меню команду Properties (Свойства).

3. Снимите флажок Enable Logging (Вести журнал) и щелк ните ОК.

Глава Оптимизация IIS и метабаза В предыдущих главах мы обсуждали методы мониторинга IIS и оптимизации производительности оборудования сер вера. Здесь мы рассмотрим оптимизацию IIS и связанных с ними служб. Я расскажу, как повышать производительность IIS, настраивать автоматический перезапуск служб IIS и по лучать максимальную отдачу от IIS-приложений. Кроме того, мы обсудим управление US с помощью системного реестра Windows и мстабазы IIS.

В системном реестре Microsoft Windows хранятся конфигу рационные параметры ОС, оборудования и всех установлен ных на сервере приложений, включая IIS. Мстабаза содер жит специфические конфигурационные параметры узлов, развернутых на конкретном WWW-сервере. Большинство параметров доступны в диалоговых окнах свойств IIS, но для изменения некоторых из них нужно редактировать систем ный реестр и метабазу. К таким параметрам относятся слож ные переменные — изменять их значение следует лишь при необходимости.

Методы повышения производительности IIS Рассмотрим методы понижения производительности IIS.

Основное внимание уделим снижению времени реакции служб IIS, о п т и м и з а ц и ю оборудования сервера мы обсуж дать не будем.

Удаление ненужных приложений и служб Один из самых очевидных способов повысить производи тельность IIS — устранить утечки ресурсов на сервере. На чать можно с удаления приложений, влияющих на произво Оптимизация IIS и метабаза Глава 12 дительностъ I1S. Скажем, Microsoft SQL Server, Microsoft Ex change Server, службы доступа к файлам и принтерам, служ бы UNIX можно перенести на отдельный сервер. Если при ложение перенести нельзя, попробуйте запускать его толь ко в периоды относительно низкой активности системы.

Например, ежедневное резервное копирование данных сер вера можно выполнять поздно ночью, когда активность поль зователей низка.

Кроме того, утечку ресурсов могут создавать системные службы. Ненужные службы следует остановить и настроить для запуска вручную. Перед остановкой службы проверьте зависимости и убедитесь, что ваши действия не окажут не гативного влияния на работу сервера.

При работе с выделенным OS-сервером обычно не нужны следующие службы:

• ClipBook (Сервер папки обмена);

• Computer Browser (Обозреватель компьютеров);

• DHCP Client (DHCP-клиент);

• DHCP Server (DHCP-сервер);

• Fax Service (Служба факсов);

• File Replication (Репликация файлов);

• Infrared Monitor (Монитор инфракрасной связи);

• Internet Connection Sharing (Общий доступ к подключе нию Интернета);

• Messenger (Служба сообщений);

• NctMccting Remote Desktop Sharing;

• Network DDE (Служба сетевого DDE);

• Network DDE DSDM (Диспетчер сетевого DDE);

• NWLink IPX/SPX (NWLink IPX/SPX/NetBIOS-совмес тимый транспортный протокол);

• Print Spooler (Диспетчер очереди печати);

• TCP/IP NetBIOS Helper Service (Служба поддержки TCP/IP NetBIOS);

Производительность, оптимизация и поддержка 408 Часть IV • Telnet;

• Uninterruptible Power Supply (Источник бесперебойного питания).

Оптимизация использования содержимого Время реакции сервера тесно связано с содержимым развер нутых на нем Web-узлов. Оптимизация использования со держимого часто лает заметный выигрыш в производитель ности. IIS поддерживает статичное (передаваемое прямо клиенту) и динамическое (предварительно обрабатываемое сервером) содержимое. Динамическое содержимое создает нагрузку на сервер, и для ее снижения лучше перейти на использование статичного содержимого.

Примечание Я не призываю заменить все динамическое содержимое статичным. Динамически генерируемое содер жимое — мощное средство для разработки гибко настраи ваемых и полнофункциональных узлов, но использовать его без особых на то причин не стоит.

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

раздел «Изменение содержимого Web-узла и HTTP-заголов ков» главы 4.

При работе с динамическим содержимым рекомендуется ограничить использование CGI-ириложений. Они требуют больше ОЗУ и времени процессора, чем их ISAPI- и ASP аналоги, и поэтому CGI-приложения следует преобразовать для применения ISAPI или ASP. По возможности выбирай те приложения ISAPI, а не ASP: хотя часто разработка пер вых занимает больше времени, выполняются они быстрее.

Кроме того, при использовании ISAPI- и ASP-приложений рекомендуется основную массу операций по обработке дан ных выполнять на клиентской системе. Это уменьшает по требность сервера в ресурсах и заметно ускоряет реакцию приложения. Пример такого перемещения — клиентский сценарий, проверяющий данные формы перед их отправкой Оптимизация IIS и метабаза Глава на сервер. Это решение снижает количество циклов обмена информацией между сервером и клиентом, тем самым серь езно повышая общую производительность приложения.

Есть и другие способы увеличить производительность обра ботки содержимого.

• Проанализировать способ организации содержимого на жестких дисках. Обычно связанные файлы содержимо го следует хранить на одном логическом диске. Это по вышает производительность кэширования файлов IIS.

• Периодически дефрагментировать жесткие диски. Со временем содержимое диска фрагментируется, что сни жает производительность операций чтения-записи. Что бы устранить эту проблему, периодически дефрагменти руйте жесткие диски своего сервера, Многие утилиты дсфрагментации дисков позволяют автоматизировать этот процесс и настроить его для запуска по расписанию, без вмешательства администратора.

• Уменьшить размер файлов содержимого. Чем больше размер файла, тем больше времени требуется на переда чу его клиенту. Уменьшив размер HTML- и ASP-страниц путем оптимизации их кода, вы повысите производитель ность и ускорите реакцию Web-сервера. Значительную часть полосы пропускания занимают мультимедиа-фай лы. При любой возможности сжимайте файлы изображе ний, аудио- и видеофайлы.

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

• Регистрировать только необходимые сведения. Регист рация большого числа сведений на перегруженном сер вере может серьезно снизить производительность систе мы. Расширенный формат журнала W3C позволяет уменьшить нагрузку по регистрации сведений и регист рировать лишь информацию, необходимую для создания 410 Часть IV Производительность, оптимизация и поддержка отчетов. Независимо от формата журнала нагрузку по его ведению можно уменьшить, поместив однотипное содер жимое в одну папку и отключив ведение журнала для не требующих того папок. Например, поместите все файлы изображений в панку Images и затем отключите для нес ведение журнала.

Оптимизация ISAPI- и ASP-приложений Неверно сконфигурированные и плохо оптимизированные приложения могут стать причиной значительной утечки ресурсов IIS-сериера. Чтобы достичь максимальной произ водительности сервера, нужно оптимизировать настройку приложений.

• Включите кэширование приложений ISAPI. IIS может кэшировать приложения iSAPI в памяти, обеспечивая к ним быстрый доступ. Для управления кэшированием служит параметр CachelSAPI метабазы.

• Правильно организуйте наполнение и очистку буфера приложениями. Буферизация позволяет собрать в буфе ре весь вывод приложения перед передачей его клиенту, что уменьшает сетевой трафик и время реакции. Однако данные выводятся пользователю лишь по завершении обработки страницы. В итоге может создаться неверное впечатление о скорости реакции узла. Для управления буферизацией данных приложениями служит параметр Asp Buffering On метабазы.

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

Для управления отладкой служит параметр AppAllow Debugging метабазы.


• Запускайте изолированные приложения только при не обходимости. Приложения, выполняющиеся в групповом процессе и вне процессов, используют дополнительные системные ресурсы и имеют чуть более низкую произво дительность, чем внутрипроцессные. Подробнее см. раз дел «Использование и выполнение приложений» гланы 4.

• Правильно настройте управление сеансами. Одновре менно с изменением назначения сервера должен менять Оптимизация IIS и метабаза Глава 12 ся и подход к управлению сеансами. По умолчанию управление сеансами включено для всех приложений. Не используя в своих приложениях сеансы, вы зря тратите ресурсы системы. Рекомендуется по умолчанию сеансы отключить, а затем включить для конкретных приложе ний. Для управления сеансами служат параметры Asp AllowSessionState, AspSessionMax и AspSessionTimeout метабазы.

• Задайте разумное время ожидания ответа сеанса. Зна чение срока ожидания чрезвычайно важно для определе ния объема ресурсов, используемого при управлении се ансами. Изменять значение этого параметра следует очень аккуратно. По истечении определенного срока сеанс дол жен закрываться. Для управления временем ожидания сеанса служит параметр AspSessionTimeout метабазы.

• Задайте разумное время ожидания сценария и подклю чения. Через определенное время ASP-сценарии и поль зовательские подключения должны прекращать ожидать ответ на свои запросы и действия. По умолчанию срок ожидания ASP-сцснариев — 90 секунд, а пользовательс ких подключений — 15 минут. «Мертвые» сценарии и активные пользовательские подключения занимают ре сурсы сервера и могут увеличить нремя его реакции.

Чтобы этого избежать, задайте подходящее время ожи дания, основываясь на том, как используется Web-узел.

Для управления временем ожидания сценариев и под ключений служа]’ параметры AspScriptTimeout и Согшсс tionTimeoul метабазы.

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

• Увеличить очередь соединений, использующих дирек тиву Keep Alive протокола HTTP. При использовании данной директивы службы IIS помещают все подключе ния пользовательского HTTP-сеанса в очередь соедине Производительность, оптимизация и поддержка 412 Часть IV ний. По умолчанию размер очереди — 15 соединений.

Если это не соответствует нашим нуждам, измените зна чение параметра ServerListenBackLog метабазы. Обыч но рекомендуется задать максимальное число запросов на подключение, которое должен обрабатывать сервер.

• Включить регулирование потоков. Функция регулирова ния потоков динамически управляет числом параллель но выполняющихся потоков, обеспечивая своевременную обработку запросов. Если регулирование потоков вклю чено, оно используется, когда процессор загружен менее чем на 50 или более чем на 80%. В первом случае, когда нагрузка низка или имеются заблокированные потоки, IIS увеличивает число активных потоков, обеспечивая обслу живание дополнительных запросов. Если загруженность процессора очень высока, HS отключает потоки, снижая число операций но переключению контекста. Для управ ления регулированием потоков служат параметры Asp Thread GateEnabled, AspThreadGateLoadLow и AspThread GateLoadHigh метабазы.

• Изменить параметры файлового кэша IIS. По умолча нию IIS использует до 50% физической памяти сервера.

Это гарантирует приемлемую производительность IIS, когда на сервере параллельно запущены другие приложе ния. Если IIS выполняется на выделенном сервере или на компьютере с большим объемом ОЗУ, можно увели чить значение данного параметра и предоставить IIS больше памяти. Для управления файловым кэшем IIS создайте в реестре Windows параметр MemCacheSize и задайте его значение.

• Изменить максимальный размер котируемых файлов.

По умолчанию IIS кашируст файлы размером не более 256 Кб. При наличии часто просматриваемых файлов данных или мультимедийных большого размера можно увеличить значение этого параметра и разрешить IIS каптировать такие файлы. Помните, кэширование файлов размером свыше 256 Кб не даст заметного прироста про изводительности. Дело в том, что нагрузка по чтению маленьких файлов с диска выше, чем из кэша, но в слу чае с большими файлами эта нагрузка может влиять на производительность незначительно. Для управления мак Оптимизация IIS и метабаза Глава 12 симальным размером кэшируемых файлов создайте в реестре Windows параметр MaxCachedFileSize и задайте его значение.

• Изменить продолжительность нахождения ресурсов в кэше. По умолчанию IIS удаляет из кэша все ресурсы, не просматривавшиеся последние 30 секунд. При нали чии большого объему ОЗУ на сервере это значение мож но увеличить, чтобы файлы не удалялись из кэша так быстро. Для управления TTL (время существования) кэшируемых ресурсов создайте в реестре Windows пара метр Windows ObjectCacheTTL и задайте его значение.

• Изменить параметры кэша шаблонов ASP. Кэш шабло нов ASP определяет количество кэшируемых в памяти ASP-страниц. По умолчанию IIS кэширует не больше файлов, что не всегда достаточно для узлов со множе ством ASP-страниц. Записи кэша шаблонов могут ссы латься на одну или несколько записей кэша обработчика сценариев ASP. Для управления кэшированием служит параметр AspScriptFileCacheSize метабазы.

• Изменить параметры кэша обработчика сценариев. Кэш обработчика сценариев ASP — это область памяти, к ко торой напрямую могут обращаться используемые IIS обработчики сценариев, и поэтому IIS предпочтительнее извлекать информацию именно отсюда. По умолчанию кэш обработчика сценариев может содержать до 125 эле ментов. Для управления им служит параметр AspScript EngineCacheMax метабазы.

Настройка автоматического перезапуска IIS Основным задачам администрирования IIS посвящена гла ва 2: в ней рассказывается об управлении службами и ис пользовании утилиты IIS Reset. Для достижения максималь ной производительности IIS рекомендуется настроить служ бу IIS Admin для автоматического запуска утилиты IIS Reset при возникновении проблем. Как правило, это позволяет IIS автоматически восстановить конфигурацию и продолжить работу.

Чтобы настроить автоматический перезапуск IIS, сделайте следующее.

Производительность, оптимизация и поддержка 414 Часть IV 1. В оснастке Computer Management (Управление компью тером) подключитесь к требуемому компьютеру.

2. Раскройте узел Services And Applications (Службы и при ложения) и щелкните значок Services (Службы).

3. Щелкните значок службы IIS Admin Service (Служба IIS Admin) правой кнопкой и выберите в контекстном меню команду Properties (Свойства).

4. Перейдите на вкладку Recovery (Восстановление), а за тем в списках First Failure (Первый сбой), Second Failure (Второй сбой) и Subsequent Failure (Последующие сбои) выберите Run A File (Выполнение программы) (рис. 12-1).

Рис. 12-1. Настройка службы IIS Admin для запуска утилиты IIS Reset 5. В поле File (Файл) группы Run File (Выполнение про граммы) введите \%SystemRoot%\System32\IISRESETXE.

Управление параметрами реестра MS В системном реестре Microsoft Windows хранятся конфигу рационные параметры ОС, оборудования и всех установлен Оптимизация IIS и метабаза Глава 12 ных на сервере приложений. Корректные значения парамет ров системного реестра важны для нормального функциони рования ОС. Вносить изменения в реестр следует, только четко зная, как это повлияет на работу системы.

Работа с системным реестром Настроечные параметры в реестре хранятся и виде разделов и значений в одном из корневых разделов. Корневой раздел определяет порядок использования вложенных разделов и параметров. Существующие корневые разделы содержат:

• HKEY_CLASSES_ROOT — параметры конфигурацион ной настройки приложений и файлов;

гарантирует, что при открытии файла с помощью OLE или из Windows Explorer (Проводник) будет запущено соответствующее приложение;

• HKEY_CURRENT_CONFIG — сведения об используе мом профиле оборудования;

• HKEY_CURRENT_USER — конфигурационные пара метры рабочей среды текущего пользователя:

• HKEY_LOCAL_MACHINE — конфигурационные пара метры уровня системы;

• HKEY_USERS — параметры учетных записей пользо вателя по умолчанию и других учетных записей в виде профилей.

На первом уровне вложенности в корневых разделах нахо дятся основные разделы. Они организованы в древовидную структуру и управляют различными параметрами системы, пользователя и рабочей среды приложений. Параметры служ бы IIS Admin хранятся в разделе HKEY_LOCAL_MACHI NE\SYSTEM\CurrentConLrolSet\Services\lnetInfo\Parameters.

В нашем случае имя раздела — Parameters. Параметры в этом или любом другом разделе реестра имеют три составных части;

имя, тип и значение. Для представления числовых параметров часто применяется шестнадцатеричный формат.

Шестнадцатеричные значения включают префикс Ох — на пример, 0x19 соответствует числу 25 в десятичном представ лении. В следующем примере тип параметра ListenBackLog — REG_DWORD, а значение — 0x19:

ListenBackLog : REG_DWORD : 0x 416 Производительность, оптимизация и поддержка Часть IV REG_DWORD — лишь один из возможных типов парамет ров. Полный список типов параметров таков:

• REG_BINARY — двоичное значение в кодировке base- (О или 1);

• REG_DWORD — значение DWORD, состоящее из шес тнадцатеричных данных;

максимальный размер — не бо лее 4 байт;

• REG_SZ — строковое значение, содержащее последова тельность символов;

• REG_EXPAND_SZ — дополняемое строковое значение, обычно используется для хранения пути к папке;

• REG_MULTI_SZ — многострочное значение.

Основная утилита для работы с системным реестром Win dows — Registry Editor (Редактор реестра, REGEDT.EXE).

Чтобы запустить ее, раскройте меню Start (Пуск) и выбе рите команду Run (Выполнить). Затем в поле Run (Выпол нить) введите REGEDT32 и щелкните ОК. Опытные адми нистраторы управляют реестром с помощью сценариев Win dows, позволяющих создавать, изменять и удалять парамет ры и разделы реестра. Следующий сценарий на VBScript изменяет значение параметра ListenBackLog:

‘Инициализируем перененные и объекты Dim Path Path = HKLH\SYSTEH\CurrentControlSet\Services\Inetinfo\Parameters\» Set ws = WScript.CreateObject(«WScript.Shell») ‘Считываем и выводим значение параметра val = ws.RegRead(Path & «ListenBackLog») WScript.Echo «Orginal ListenBackLog value: » & val ‘Записываем и выводим новое значение параметра retVal = ws.RegWrite(Path & «ListenBackLog», 50, «REGJJWORD») val = ws.RegRead(Path & «ListenBackLog») WScript.Echo «Updated ListenBackLog value: » & val Примечание Подробное обсуждение сценариев выходит за рамки этой книги. Хороший источник информации по данной теме — книга «Windows 2000 Scripting Bible» Уиль Оптимизация IIS и метабаза Глава 12 яма Р. Станека (William R, Stanek), вышедшая в июле 2000 г.

в издательстве IDG Books.

Управление IIS с помощью реестра Настроечные параметры IIS хранятся в разделе HKEY_LO CAL_MACHINE\SYSTEM\CurrentControlSet\Services\Inet info\Parameters реестра, В плане управления IIS особый интерес представляют следующие параметры этого раздела.

• CacheSecurityDescriptor определяет, кэшируются ли дес крипторы безопасности для файловых объектов. Значе ние 1 (по умолчанию) — кэширование включено, 0 отключено. В первом случае при кэшировании файловых объектов сохраняются дескрипторы безопасности. Пока файл находится в кэше, службам IIS не требуется повтор но обращаться к файлу для определения прав доступа новых пользователей. Параметр наиболее полезен для узлов, проверяющих подлинность пользователей, и бес полезен на узлах с анонимным доступом.

• CheckCertRevocation определяет, проверяет ли IIS кли ентский сертификат по списку отозванных сертификатов.

Если вы выдаете собственные сертификаты и осуществ ляете их локальную проверку, то, возможно, стоит вклю чить эту функцию. Если нет, проверку лучше отключить, что и задано по умолчанию. Для включения функции задайте этому параметру значение 1.

• DisableMemoryCache определяет, включено ли кэширо вание памяти IIS. По умолчанию оно включено (т. е. его значение 0). Отключать кэширование памяти следует только для целей тестирования или разработки.

• ListenBackLog задает максимальное число активных под ключений в очереди соединений. По умолчанию — подключений;

допустимый диапазон значений — от 1 до 250 подключений.

• MaxCachedFileSize задает максимальный размер файла, помещаемого в кэш. Файлы большего размера не кэши руются. По умолчанию — 262 144 байта (256 Кб), • MaxConcurrency задает максимально допустимое число потоков, которые могут параллельно выполняться па од ном процессоре при наличии ожидающих операций вво 418 Часть IV Производительность, оптимизация и поддержка да-выяода. Значение по умолчанию —• 0 — позволяет службам HS управлять числом потоков для каждого про цессора. Можно задать и конкретное значение.

• MaxPoolThreads задает число потоков пула, обрабатыва емых одним процессором. Каждый поток пула ожидает сетевой запрос к CGI-приложению и обрабатывает его.

Этот параметр не влияет на потоки приложений ISAPI.

По умолчанию задано 4. Для однопроцессорных систем это означает, что одновременно могут выполняться толь ко четыре CGI-приложсния.

• MemCacheSize задает максимальный объем ОЗУ, исполь зуемый IIS для кэширования файлов. Если службам IIS не требуется вся выделенная им память, она будет пере дана другим приложениям. По умолчанию IIS использу ет 50% доступного объема ОЗУ. Допустимый диапазон значений — от 0 Мб до общего объема ОЗУ компьютера в мегабайтах.

• ObjectCacheTTL задает срок (в миллисекундах) хране ния объектов в памяти. Объекты, не использовавшиеся в течение заданного срока, удаляются из памяти. Значе ние по умолчанию — 30 секунд (300 000 мсек).

• PoolThreadLimit задает максимальное число потоков пула, создаваемых на сервере, т. е. ограничивает общее количество всех потоков IIS. Значение по умолчанию равно двукратному размеру физической памяти в мега байтах.

Управление службой Indexing Service с помощью реестра Параметры службы Indexing Service хранятся в разделе HKEY_LOCAL_MACIiINE\SYSTEM\CurrcntControlSet\ Control\ContentIndex реестра. Подробнее об этом см. раздел «Основы работы со службой Indexing Service» главы 9.


Параметры служб World Wide Web Publishing, File Transt’er Protocol и Simple Mail Transfer Protocol хранятся в разделе HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Ser уке5\ИмяСлужбы\Р&татеЪег5 реестра. Здесь ИмяСлужбы — это наименование требуемой службы, например:

• MSFTPSVC — служба File Transfer Protocol;

Оптимизация IIS и метабаза Глава • W3SVC — служба World Wide Web Publishing;

• SMTPSVC — служба Simple Mail Transfer Protocol.

Большинство параметров этих разделов используются толь* ко службами IIS, однако вам может потребоваться изменить значение параметра AllowGuestAccess, определяющего, раз решен ли гостевой доступ к службам Интернета. По у мол* чанию он разрешен;

чтобы отключить его, задайте Allow GuestAccess значение 0.

При работе со службой World Wide Web Publishing (Служ ба веб-публикаций) вам может потребоваться изменить зна чения следующих параметров.

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

• TryExceptDisable определяет, включено ли кэширование исключений для отладки. По умолчанию оно отключено (т. с. задано значение 0). Если кэширование исключений включено (т. с. задано 1), при возникновении любого исключения сервер останавливается и позволяет разра ботчику отладить приложение, вызвавшее исключение.

• UploadReadAhead при передаче клиентом информации на сервер определяет объем данных, считываемых серве ром перед передачей управления обрабатывающему их приложению. По умолчанию — 48 Кб.

• UsePoolThreadForCGI определяет, могут ли CGI-запро сы использовать общие потоки. По умолчанию это раз решено (т. е. задано 1). Если же это запрещено, CGI-зап росы не используют пул соединений, и значение парамет ра MaxPoolThreads раздела Inetinfo на них не распрост раняется.

Управление протоколом SSL с помощью реестра Настроечные параметры протокола Secure Sockets Layer хра нятся в разделе HKEY_LOCAL_MACHINE\SYSTEM\Current ControlSet\Control\SecurityProviders\SCHANNEL реестра.

Производительность, оптимизация и поддержка 420 Часть IV Возможно, вам потребуется изменить значения следующих параметров.

• EventLogging определяет, будут ли в журнал Web-узла включаться записи о SSL-подключениях. По умолчанию такая возможность включена (т. е. задано 1). Чтобы от ключить ее, задайте параметру значение 0.

• ServerCacheTime определяет продолжительность SSL сеанса в милисекупдах. Создание SSL-сеанса требует много времени и ресурсов системы. Если вы предпола гаете, что средняя продолжительность сеанса будет боль ше продолжительности, заданной по умолчанию, измени те значение ServerCacheTime. По умолчанию длитель ность SSL-сеанса — 5 минут (300 000 миллисекунд). По окончании SSL-сеанса необходимо создать новый сеанс.

Управление параметрами метабазы IIS Метабаза — один из наиболее важных компонентов установ ки IIS. Здесь хранятся конфигурационные параметры узлов и виртуальных серверов, а также параметры по умолчанию узлов и виртуальных серверов: например, основные свойства WWW.

Просмотр и редактирование метабазы Метабаза I1S — это структурированный файл с именем METABASE.BIN, хранящийся в папке \Inetsrv. Редактиро вать его напрямую не следует, но есть масса иных способов просмотреть и изменить его содержимое. В разделе «На стройка резервного копирования и восстановления IIS» гла вы 2 рассказывалось о создании резервных копий и восста новлении метабазы в состояние на определенный момент времени. Кроме того, в предыдущих главах обсуждалось из менение конфигурационных параметров IIS стандартными средствами администрирования, например, из оснастки In ternet Information Services. Любые изменения параметров, сделанные при помощи обычных административных утилит, отражаются в метабазе IIS.

Содержимое метабазы также можно просматривать и редак тировать в специально сконфигурированном редакторе.

В комплекте ресурсов Windows 2000 есть утилита Metabase Editor (METAEDIT.EXE). Чтобы установить ее, запустите Оптимизация IIS и метабаза Глава 12 файл SETUP.EXE из папки \Apps\Metaedit компакт-диска комплекта ресурсов Windows 2000 и следуйте инструкциям на экране. Вы увидите, что эта утилита практически не от личается от Registry Editor (REGEDT.EXE).

Конфигурационные параметры организованы в иерархичную структуру со стандартными правилами именования, соглас но которым каждый параметр находится в определенном разделе и по определенному пути (рис. 12-2).

Slrnj Рис. 12-2. Просмотр и редактирование параметров метабазы с помощью Metabase Editor Раздел — это область метабазы, аналогичная папке файло вой системы. Путь метабазы — это последовательность от деленных друг от друга косыми черточками (/) имен разде лов, уникально идентифицирующая расположение раздела в метабазе. Структура иерархии такова:

/ L М/Служба/МеЬ_узел/Корень Здесь LM — это локальный компьютер, Служба — название службы Интернета, например W3SVC или MSFTPSVC, Web_i/3eji — имя экземпляра ниртуального сервера или узла, и Корень — корневой каталог виртуальной папки.

Чтобы понять, как используются пути метабазы, рассмотрим пример. Путь метабазы /LM/W3SVC/l/Root представляет корень первого экземпляра установленного на локальном компьютере Web-узла. Таким образом, если это значение сея Часть IV Производительность, оптимизация и поддержка зано с путем C:\Inetpub\Wwwroot, то URL http://www.do main.com/index.htm может быть связан с путем к физичес кому файлу C:\Inetpub\Wwwroot\INDEX.HTM.

На параметры метабазы распространяются правила наследо вания, обсуждавшиеся в предыдущих главах. Значения на строечных параметров, заданные на глобальном уровне, рас пространяются на узлы и на все их вложенные папки. Свой ства, определенные на локальном уровне, могут наследовать значения параметров, заданные на глобальном уровне. Ана логично дочерние узлы наследуют значения параметров узла или папки. Наследование происходит автоматически, но его можно отключить. Например, для этого перед изменением параметра в Metabase Editor следует удалить атрибут Inhe ritance. Кроме того, можно задать значение отдельного па раметра на уровне узла. Так, чтобы включить буфериза цию для конкретного узла, задайте для него параметру Asp BnfferingOn значение TRUE.

Редактирование параметров метабазы Изменять параметры метабазы позволяют утилита Metabase Editor или сценарии VBScript для Windows. Утилита Meta base Editor во многом аналогична утилите Registry Editor.

• просматривать древовидную структуру метабазы для по иска требуемого свойства;

• дважды щелкнув свойство, изменить его значение с по мощью диалогового окна (рис. 12-3);

Рис. 12-3. Диалоговое окно Edit Metabase Data Оптимизация IIS и метабаза Глава 12 • просматривать и редактировать значение свойства в поле Data, Завершив редактирование свойства, щелкните ОК.

Примечание Работая со свойствами метабазы помните, j что новые значения параметров не вступят в силу до пере запуска соответствующей службы. Например, после пере настройки Web-узла вам, возможно, потребуется остановить и затем запустить его.

Кроме того, Metabase Editor позволяет найти свойство, зна чение которого требуется изменить.

1. Нажмите комбинацию клавиш Ctrl+F или выберите в меню View команду Find.

2. В поле Find диалогового окна Find введите название свойстпа и щелкните ОК.

3. Обнаружив требуемое свойство, Metabase Editor покажет и выделит его в дереве метабазы. Дважды щелкните свой ство и в открывшемся диалоговом окне измените его значение. Затем щелкните ОК.

4. Если найти свойство невозможно, Metabase Editor выве дет сообщение об ошибке. Проверьте, правильно ли вве дено название параметра, и попробуйте снова найти его.

Как вы понимаете, можно изменять значения сотен свойств метабазы. Свойства, с которыми вам придется работать, за дают глобальные настроечные параметры Web-серверов и находятся в разделе \LM\W3SVC метабазы. Перечислим их.

• AppAllowDebugging определяет, включена ли на серве ре ASP-отладка. Если значение свойства — TRUE, каж дому сконфигурированному на сервере IIS-приложению предоставляется только один поток выполнения, что по зволяет отлаживать приложения индивидуально. Значе ние свойства но умолчанию — FALSE. Изменять сто на TRUE следует только для отладки приложений.

• AspAHowSessionState определяет, включены ли сеансы для приложений. Если значение — T R U E (задано по умолчанию и означает, что сеансы включены), IIS будет регистрировать сведения о пользовательских сеансах.

Если сеансы не используются, для повышения произво дительности свойству можно задать FALSE и затем по необходимости включать сеансы в отдельных приложе 424 Производительность, оптимизация и поддержка Часть IV ниях с помощью оператора .

AspBufferingOn определяет, включена ли ASP-буфериза • ция. Если значение — TRUE (задано по умолчанию и оз начает, что буферизация включена), перед отсылкой кли енту выходные данные накапливаются в буфере. Если задать FALSE, вывод ASP-сценариев будет передаваться клиентскому браузеру сразу после генерации.

• AspQueueConnectionTestTime задаст интервал, по исте чении которого проверяется, по-прежнему ли подключен клиент к серверу. Если запрос находился в очереди доль ше этого времени, перед его выполнением сервер прове ряет, подключен ли клиент. По умолчанию — 3 секунды.

Свойство позволяет «бороться» с нетерпеливыми пользо вателями, заполняющими очередь множеством запросов к одной и той же странице. Проверять, подключен ли клиент, ASP-страницы могут также с помощью метода Response.IsCHentConnected.

• AspRequestQueueMax задает максимальное число ASP запросов в очереди соединений. По умолчанию — 3 запросов. Значение этого свойства следует изменять в зависимости от характеристики приложения. Например, если время выполнения и время нахождения среднего запроса в очереди мало, максимальное число ASP-запро сов в очереди соединений можно увеличить (особенно при перегруженном сервере).

• AspScriptEngineCacheMax задает максимальное число кэшируемых в памяти сценариев. Попадание в кэш об работчика сценариев позволяет избежать повторной ком пиляции шаблона в двоичный код. По умолчанию — сценариев.

• AspScriptFileCacheSize задает число предварительно скомпилированных файлов сценариев, хранимых в кэше шаблонов ASP. По умолчанию — 250 сценариев. Если свойству задать -1, будут кэшироваться все запрошенные файлы сценариев, 0 — файлы сценариев не кэшируются.

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

Оптимизация IIS и метабаза Глава 12 • AspSessionTimeout задает тайм-аут, после которого не обходимо обновлять ASP-сеансы. По умолчанию — через 20 минут.

• AspThreadGateEnabled определяет, включено ли регули рование потоков, позволяющее динамически управлять потоками выполнения. По умолчанию задано FALSE.

Чтобы включить регулирование потоков, задайте TRUE.

• AspThreadGateLoadHigh задает максимальный уровень использования процессора при регулировании потоков.

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

• AspThreadGateLoadLow задает минимальный уровень использования процессора при регулировании потоков.

Если загруженность процессора меньше этого значения, IIS увеличивает число активных потоков — превентив ная мера на случай блокирующих потоков.

• CachelSAPI определяет, каптируются ли динамические библиотеки ISAPI в памяти после использования. По умолчанию равно TRUE, т. е. динамические библиотеки ISAPI хранятся в кэше до останова сервера. Если свой ству задать FALSE, библиотеки будут выгружаться сра зу после использования.

• ConnectionTimeout задает тайм-аут, после которого сер вер отключает неактивное соединение. По умолчанию — 900 секунд (15 минут).

• DisableMemoryCache определяет, включено или отклю чено кэширование памяти IIS. По умолчанию кэширова ние памяти включено (т. е. задано 0). Отключать кэши рование памяти рекомендуется только для целей тести рования или разработки.

• ServerListenBackLog задает размер очереди запросов.

Значение по умолчанию основано на значении парамет ра AcceptEx ОС и значении свойства ServcrSize метаба зы. Если значение ScrverSize — 1, значение ServerListen BackLog по умолчанию равно 40 запросам. Если значе ние ServerSize — 2, значение ServerListenBackLog по Часть IV Производительность, оптимизация и поддержка умолчанию — 100 запросов. Диапазон допустимых зна чений ServerListenBackLog — от 5 до 1 000 запросов.

• ServerSize задает масштаб сервера — количество обраба тываемых за день клиентских запросов: 0 — запросов мень ше 10 000, 1 — от 10 000 до 100 000, 2 — свыше 100 запросов в день.

Управление метабазой при помощи сценариев Сценарии Windows — еще один способ управлять метабазой.

Взаимодействие с параметрами метабазы в сценариях Win dows осуществляется при помощи ADSI-поставщика для IIS, позволяющего управлять административными объектами IIS.

Основные объекты администрирования — IlsCompuler, lls WebServer и IIsFtpServer.

Объект IlsComputer позволяет задавать глобальные свойства IIS и управлять резервными копиями метабазы. Помните:


все дочерние узлы (Web-узлы, папки и т. д.) могут наследо вать глобальные настроечные параметры. Объект IlsCom puter представляет собой объект-контейнер ADSI, для кото рого параметр AdsPath имеет значение П5://ИмяКомпьюте ра, где ИмяКомпъютера — это имя любого компьютера или LocalHost, например IIS://engsvr01.

Чтобы получить объект IlsComputer для сервера ENGSVR с помощью сценария VBScript:

‘Инициализируем переменные Dim compObject, serverName serverName = «engsvrQI» ‘Получаем объект IlSWebServer Set compObject = GetObjectC’IIS://» & serverName) Примечание Подробное обсуждение способов управления [%.»•;

метабазой с помощью сценариев выходит за рамки этого издания. Хороший источник информации по данной теме — уже упоминавшаяся книга «Windows 2000 Scripting Bible».

Кроме того, просмотрите в интерактивной документации IIS список доступных объектов и порядок работы с ними.

Теперь можно работать с любыми методами и свойствами объекта IlsComputer, например, так:

‘Инициализируем переменные Dim compObject, serverName Оптимизация IIS и метабаза Глава serverNante = «engsvrd» ‘Получаем объект IlSWebServer Set compObject = GetObjectf’IIS://» & serverName) ‘Восстанавливаем конфигурацию метабазы на основе последней рабочей копии compObject.Restore Для задания свойств метабазы, распространяющихся на кон кретный Web-узел, а также для назначения наследуемых свойств папок и файлов служит объект IlsWehServer. Кро ме того, управлять работой сервера можно, используя мето ды. Например, метод Stop позволяет остановить, а метод Start — запустить Web-узел, Web-узлы идентифицируются по индексу в метабазс. Индекс первого созданного на сервере экземпляра Web-узла — 1, второго — 2 и т. д. Объект IlsWebScrver представляет собой объект-контейнер ADSI, для которого параметр AdsPath имеет значение llS://HMxKoMnbmmepa/W3S\rC/N. Здесь ИмяКом пыотера — это имя любого компьютера или Local Host, W3SVC — идентификатор службы Web Service и Л’ — ин декс Web-узла. Параметр AdsPath указывает на первый эк земпляр Web-узла на сервере ENGSVR01:

IIS://engsvr01/W3SVC/ Чтобы получить объект IhWebServer для первого экземпля ра Web-узла в сценарии VBScript:

‘Инициализируем переменные Dim webObject, serverName, webN serverName = «engsvrOI» webN = «Г ‘Получаем объект IlSWebServer Set webObject = GetObject(«IIS://» & serverName & «/W3SVC/ & webN> Теперь можно работать с любыми методами и свойствами объекта IlsWebServcr, например так:

‘Инициализируем переменные Dim webObject, serverName, webN serverName = «engsvrQI» webN = «1» 428 Часть IV Производительность, оптимизация и поддержка ‘Получаем объект IlSWebServer Set webObject = GetObject(«IIS://» & server-Name & «/W3SVC/»& webN) ‘Останавливаем Web-узел webObject.Stop ‘Включаем ASP-буферизацию webObject.AspBufferingOn = True ‘Сохраняем измененное значение в метабазе webObject.Setlnfo ‘Запускаем Web-сервер webObject.Start Задать свойства метабазы, распространяющиеся на конкрет ный FTP-сервер, а также наследуемые свойства для катало гов, позволяет объект IIsFTPServer. Как и в случае с объек том IlsWebServer, управлять работой сервера можно, исполь зуя методы. Например, с помощью метода Pause приостано вите FTP-сервер, а затем возобновите работу, вызвав метод Continue.

FTP-серверы идентифицируются по индексу в метабазе. Ин декс первого сервера — 1, второго — 2 и т. д. Объект IIsFTP Server представляет собой объект-контейнер ADSI, для ко торого параметр AdsPach имеет значение П5://ИмяКомпью mepa/MSFTPSVC/W. Здесь ИмяКомпыотера — это имя лю бого компьютера или LocalHost, MSFTPSVC — идентифи катор службы FTP Service, и Л’— индекс сервера. Параметр AdsPath указывает на первый FTP-сервер па компьютере ENGSVR01:

IIS://engsvr01/MSFTPSVC/ Чтобы получить объект IIsFtpServer для первого экземпля ра FTP-сервсра с помощью сценария VBScript:

Инициализируем переменные Dim ftpObj, serverName, ftpH erverName = «engsvrOI» ftpN = «1» ‘Получаем объект IIsFtpServer Set ftpObj = GetObjectrilS://» & serverName & «/MSFTPSVC/ & tpN) Оптимизация IIS и метабаза Глава 12 Теперь можно работать с любыми методами и свойствами объекта IIsFtpServer, например, так:

‘ Инициализируем переменные Dim ftpObj, serverName, ftpN serverName = «engsvrOI» ftpN = «1» ‘Получаем объект IlsFtpServerSet ftpObj = GetObjectC’IIS://» 4 serverName 4 /MSFTPSVC/»i ftpN) ‘Останавливаем РТР-сервер ftpOb].Stop ‘Включаем анонимный доступ ftpObj.AllowAnonymous = True ‘Сохраняем измененное значение в иетабазе ftpObj.Setlnfo ‘ Запускаем RP-сервер ftpObj.Start Предметный указатель В Browser Capabilities Access log Active Directory 16 (BROWSERCAP.DLL) Active Directory — пользователи и компьютеры CA см. Active Directory Users — автономный дочерний and Computers — автономный корневой Active Directory Services — архивирование информа Interface CM. ADSI ции Active Directory Users and — восстановление информации Computers Active Server Pages CM. ASP — дочерний предприятия Ad Rotator (ADROT.DLL) — корневой предприятия Administration Application CM.

— сертификат приложение, администриро СА вание CachelSAPI Administration Web site (адми CachcSecurity Descriptor нистрирование веб-узла) Certificate Authority см. СА ADSI (Active Directory Certificate Export Wizard Services Interface) certificate revocation list CM.

Alerter CRL AppAllowDebugging Application Log см. журнал, Certificate Services 180, приложений — доступ — запуск ASCII 380, ASP (Active Server Pages) 2, — остановка — установка 81, 84, 102, 344, AspAllowSessionState 423 certificate revocation list AspBufferingOn 424 см. CRL AspQueueComiectionTestTime Certification Authority Restore 424 Wizard AspRequestQueueMax 424 CHACCESS CM. Change Access AspScriptEngmeCacheMax Restrictions 424 Change Access Restrictions AspScriptFilcCacheSize 424 CheckCertRevocation AspSessionMax 424 Circular Trace File см. файл циклической трассировки AspSessionTimeout AspTh read Gate Enabled 425 ClipBook COM AspThreadGateLoadHigh AspThreadGateLoadLow Предметный указатель Common Internet Scheme Display Administrative Node Syntax см. синтаксис схем (D1SPNODE) Интернета Display Administrative Tree Computer Browser 407 (DISPTREE) DLL Computer Management 11,35 DLL-сервер DNS ConnectionTimcout Content Linking DNS (Domain Name System) (NEXTLINK.DLL) Continue FTP Server DNS Server (CONTFTP) 16 DNS-поиск Continue Server Domain Name System CM. DNS (CONTSRV) 16 DSN Continue Web Server (CONTWEB) ESMTP (Extension to SMTP) Counter log см. журнал, счет чиков Event Log 34 Counters (COUNTERS.DLL) Event Viewer 11, EventLogging Create Virtual Directory Extension to SMTP (MKWEBDIR) CM. ESMTP Create Web Site (MKW3SITE) CRL Failure Audit см. аудит, отказов Fax Service Data Sources File Access Component Database Access (FSCFG.DLL) (MSADO20.DLL) File Replication Default FTP site File Replication Service CM.

Default NNTP Virtual Server служба, репликация файлов (виртуальный NNTP-сервер File Transfer Protocol CM. FTP по умолчанию) Find Web Site (FINDWEB) Default SMTP Virtual Server (виртуальный SMTP-сервер FQDN 22, no умолчанию) FTP 19, 40, 131, Default Web site (Web-узел no — перезапуск умолчанию) — сервер DHCP Client FTP Publishing Service DHCP Server FTP Service DHCP-клиент CM. DHCP Client РТР-сеанс 231, DHCP-сервер CM. DHCP FTP-сервер 229, Server FTP-служба Directory Service FTP-узел 233, 235, DisableMt’inoryCache 417, 15- Предметный указатель поврежденная установка — по умолчанию см. Default 40, FTP site подкомпоненты fully qualified domain name — Common Files (Общие CM. FQDN файлы) H — Documentation (Докумен HKEY_CLASSES_ROOT 415 тация) HKEY_CURRENT_CONF1G — File Transfer Protocol 415 Server (FTP-сервер) — FrontPage 2000 Server H KEY_C URRENT_USER 415 Extensions (Серверные рас HKEY_LOCAL_MACHINE ширения ErontPage) — Internet Information HKEY_USERS 415 Services Snap-In (Оснастка HTTP 10, 52, 65. 83, 229 IIS) — сжатие 2 — Internet Services Manager HTTP Indexing Service 344 (Диспетчер служб Интер HTTP Kccp-Alives 65, 66 нета) HTTP Monitoring Tool 11. — Network News Transfer 337 Protocol Service (Служба HTTP-заголовок 113 NNTP) HTTP-сжатие 376 — Simple Mail Transfer Hyper Text Transfer Protocol Protocol Service (Служба ‘CM. HTTP SMTP) — V i s u a l InterDev RAD I Remote Deployment Support IDQ 313 (Поддержка удаленного раз IIS вертывания Visual InterDev — FTP Publishing Service 235 RAD) — NNTP 10 — World Wide Web Server — автоматический переза- (Веб-сервер) пуск 413 производительность — администрирование 3, 10, разрешение доступа 19 резервная копия конфигура — архитектура 19 ции 40 — основа 20 резервное копирование — безопасность 151 служба — восстановление 38, 41 — FTP-публикаций — интерфейс администрирова- — IIS Admin ния 13 — веб-публикаций — каталог 66 — индексирования — метабаза 16 — перезапуск — путь 16 служба индексирования — раздел 16 удаленная установка 14, — мониторинг 335, 343 управление — оснастка 25 управление службами Предметный указатель — уровень безопасности 134 — аренда — установка 6 — изменение — учетная запись 133 — назначение — IUSR 10 — ограничение доступа — IWAM 10 — сервера IIS 2, 7. 10, 12, 13, И, 19, 28, IP-фильтрация. 31, 32, 334 ISAPI 3. 21, 39, 81, 106, ISP IIS A d m i n Service CJM. служба, IIS Admin IIS Administration Script Java Servlet Pages Utility 11, JStript IIS Help Application см. при ложение, справочное IISRESET 28, 30, LDAP Indexing Service 34, 304, Lightweight Directory Access — запуск Protocol CM. LDAP — индексируемая папка ListenBackLog — каталог Logging Utility — настройка (LOGSCRPT.DLL) — остановка — приостановка M — производительность Macintosh — слияние каталогов MaxCachedFileSize — тестирование каталога 331.

MaxConcurrency MaxPoolThreads — управление MemCacheSize — установка Messenger Indexing Service Filter Metabase Editor 420, Inetlnfo 21, Microsoft Exchange 2000 Infrared Monitor Microsoft Exchange Internet Connection Sharing Server MIME Internet data query CM. IDQ MMC Internet Information Manager Mylnfo (MYINFO.DLL) Internet Information Services N CM. IIS National Center for Internet Information Services Supercomputing Applications Global CM. NCSA Internet Service Provider NCSA 379, 380, CM. ISP NetBIOS 22, Internet Services Manager 7, NetMeeting Remote Desktop 12, 13, 19, Sharing IP-адрес 19, 26, 46, 239, 256, Network DDE Network DDE DSDM •и Предметный указатель REG_EXPAND_SZ Network News Transfer Protocol см. NNTP REG_MULT!_SZ Network News Transport REG_SZ Protocol CM. NNTP Registry Editor NNTP 2, 10, 19, 29, 35, 131 Restart Internet Services CM.

NNTP Commands 344 служба, Интернета, переза NNTP Server 344 пуск NWLink IPX/SPX 407 RSAC N W L i n k IPX/SPX/NetBIOS совместимый транспорт!гьгй Sample Application см. прило протокол см. NWLink жение учебное IPX/SPX SCSI NWLink NetBIOS Secure Sockets Layer CM. SSI Security Log см. журнал безо ObjectCacheTTL 418 пасности ODBC HSO, 391, 400, 404 Sequential Trace File см. файл последовательной трасси ровки Page Counter (PAGECNT.DLL) Server Extensions 86 Administrator Pause FTP Server (PAUSE1-TP) ServerCacheTime 17 ServerListenBackLog Pause Server (PAUSESRV) 17 ServcrSize Pause Web Server Services (PAUSEWEB) 17 Simple Mail Transfer Protocol Performance 12 CM. SMTP Performance Monitor 336. 343 SMTP 19, 29, 35, 131, Permission Checker SMTP (PERMCHK.DLL) 86 SMTP NTFS Store Driver PICS (Platform for Internet SMTP Server Content Selection) 114 SMTP-сервер Platform for internet Content — виртуальный Selection CM. PICS — мониторинг Playback 337 — уникальный идентификатор PoolTh read Limit 418 Print Spooler 407 SSIEnableCmdDirective SSL 3, 180, 213. R SSL RAID 5 Start FTP Server RAID-0 3 (STARTFTP) RA1D-1 5 Start Internet Services CM.

Recreational Software Advisory служба, Интернета, запуск Council CM. RSAC Start» Server (STARTSRV) REG_B1NARY 416 Start Web Server REG DWORD 416 (STARTWFB) Предметный указатель Status (STATUS.DLL) 86 UsePoolThreadForCGl Stop FTP Server (STOPFTP) User Datagram Protocol CM.

17 UDP Stop Internet Services см. служ ба, Интернета, остановка VBScript 84, Stop Server (STOPSRV) Visual Basic Scripting Edition Stop Web Server (STOPWEB) CM. VBScript Success Audit см. аудит, w успехов W3C 379, 387, System Log см. журнал, WCAT системы Web Application Stress Tool Web Capacity Analysis Tool TCP CM. WCAT TCP/IP 26, Web Distributed Authoring and TCP/IP NetBIOS Helper Vcrsioning CM. WebDAV Service Web Service Telephony Web Site Creation Wizard Telnet WehDAV 3, 152, TLS Web-администратор Tools (TOOLS.DLL) Web-cupucp 31, Trace Log см. журнал, трасси — производительность ровки — разрешение Transmission Control Protocol — глобальное CM. TCP — локальное Transmission Control — настройка Protocol/Internet Protocol — управление безопасностью CM. TCP/IP ‘ Transport Layer Security CM.

— уронень безопасности TLS Web-служба TryExccpt Disable Web-узел TSL — IISAdmin I — ilSIIelp — TTSSamples UDP -SSL-морт ИКС — администриронанис 15, UNC — домашний каталог U n i l o r m Naming Convention — защищенная область CM. UNC — идентификатор 48, uniform resource locator CM. URL — идентификация Uninterruptible Power S u p p l y — имя 40H — оператор UNIX — отключение UploadRead Ahead — — оценка содержимого URL 19, 22, 48, Предметный указатель — Audit Logon Events — ошибка 116, — A u d i t Object Access — перенаправление запроса — Audit Policy Change 74, 79, — A u d i t Privilege Use — производительность — создание 54 — Audit Process Tracking — узел обновления 127 — Audit System Events — управление содержимым — отказов 72 — успехов — файл аутентификация — изменение — переименование баннер — просмотр брандмауэр 3, — удаление браузер Windows Components Wizard буферизация Windows Scripting Host CM.

В WSH виртуальный сервер 19, Windows Security Package си.

пакет безопасности Wi ndows групповая политика World Wide Web CM. W W W — параметры World Wide Web Consortium — управление CM. W3C World Wide Web Publishing Service см. служба, веб-пуб диапазон адресов ликаций динамически WSH — назначаемый порт WWW — подключаемые библиотека см. DLL Диспетчер администрирование 3, 12 — очереди печати см. Print — Web 13 Spooler активные серверные страницы — сетевого DDE c.«. Network см. ASP DDE DSDM анонимное — служб Интернета см.

— подключение 243, 249 Internet Services Manager — соединение 23 домен 256, анонимный доступ 163 — локальный 261, аудит 3, 149 — настройка — A u d i t Account Logon Events — переименование 150 — по умолчанию — A u d i t Account Management — подменяющий 150 — псевдоним — A u d i t Directory Service — система безопасности Access 150 — служебный Предметный указатель — тип 22 интрассть — удаленный 261 275 280 информационное сообщение — электронная почта 261 Информационные службы Ж Интернета см. IIS журнал источник бесперебойного — безопасности 340 питания см. ИБП — ведение 392, 405 источники данных ODBC — директива К — доступа 338, — формат 379 каталог — идентификатор поля 389 — виртуальный 55, 67, 68, 177, — именование файлов — поле с учетной информаци- — изменение ей процессов 390 — переименование — префикс 388 — подключение — приложений 340 — слияние — производительности 352, — создание 359 — способ отображения — управление 353 — тестирование — системы 340 — удаление — событий 339 — физический 67. — счетчиков 352 354 код состояния — таблица 401 колонтитул — трассировки 352 357 команда REST — файл 356, 393 конфигурирование кэш кэширование 93, 95. 111, 366, заголовок узла 2, 51, 239 защита приложения м зеркалирование диска мастер И — восстановления центра сер ИБП 5 тификации см. Certification идентификатор 100. 239, 267 Authority Restore Wizard идентификация ресурсов 22 — компонентов Windows индекс 311 — создания Web-узлов см.

индексирование 309, 318 Web Site Creation Wizard интернет-сервер — экспорта сертификатов — дисковое пространство 5 см. Certificate Export Wizard — защита данных 5 метабаза 19, 89, — память 4 — раздел — процессор 4 — редактирование 420, — симметричная многопроцес- — свойства сорная обработка 4 — управление интерфейс 16 метаданные 438 Предметный указатель параметры документа Монитор инфракрасной связи см. Infrared Monitor поиск мониторинг 294, 334, 343 полное доменное имя — дисковый ввод-вывод 366 пользовательский сеанс — пропускная способность пользовательское прило сети 367 жение — процессор 366 поставщик услуг Интернета см. ISP — сетевое подключение — составление плана 336 почтовый интернет-сервер — средства почтовый шлюз н приложение Наблюдательный совет по — администрирование развлекательному ПО см. — буферизация RSAC — впепроцессное направляющий узел 282 — защита настройка производитель- — изолированное ности 334 — использование Национальный центр разра- — кэширование ботки приложений для вы- — начальная точка числений на супер-ЭВМ — отладка см. NCSA — ошибка номер порта 19, 22, 48, 50, — родительские пути 234, 239, 267 — создание — сопоставление — добавление обозреватель компьютеров — редактирование см. Computer Browser — удаление общий доступ к подключению — управление Интернета см. Internet — справочное Connection Sharing — удаление ограничение доступа 167 — управление оператор 258 — учебное операционная система — учетная запись — Windows 2000 4, 16, 28 — язык сценариев — Windows 2000 Professional приоритет 49 проверка подлинности 3, 19, -Windows NT 177 оповещатель см. Alerter — Basic Authentication — Digest Authentication П — Integrated Windows пакет безопасности Windows Authentication 280 — включение параллельное подключение — краткая З 64 — отключение Предметный указатель 13Я прокси-сервер 3 — генерирование пропускная способность 375 — замена пространство имен 88 -запрос 203 — обновление 200 — отзыв раздел 421 — просмотр разрешение 20 — создание — глобальное 253 — удаление — локальное 254 — управление разрешение имени 47 -установка 202, расширение 81 83 — экспорт регулирование процессов 3 Сетевой Информационный реестр Центр — системный 415 сеть — управление — общедоступная — IIS 417 — частная протоколом SSL 419 синтаксис схем Интернета — службой Indexing Service система 418 — проверки подлинности режим проверки подлиннос- — доменных имен см. DNS ти 286 Системный монитор ретрансляция 276 295 см. Perfoinance Monitor РосНИИРОС 47 сканирование 309, Российский НИИ Развития служба Общественных Сетей см. — FTP-публикаций 29, 34, РосНИИРОС см. также FTP Publishing Service — IIS Admin 29. сеанс 99 — SMTP — состояние 93 — World Wide Web Publishing сервер Service — базовый уровень производи- — веб-публикаций 29, 35, 54, тельности 336 — виртуальный 31, 262, 278, — восстановление 283 — запуск 35, — оптимизация 364 — индексирования 344, см.

— нанки обмена см. Clipbook также Indexing Service — сценариев Windows — Интернета см. WSH — запуск — полнофункциональный — остановка 260 — перезапуск — производительность 336 — каталогов — сохранение конфигурации — остановка 38 — поддержки TCP/IP сервисный пакет 17-1 NetBIOS см. TCP/IP сертификат 3, 182, 197, 213 NetBIOS Helper Service Предметный указатель — приостановка 35 — IUSR — репликация файлов 3-40 — IWAM — сетевого DDE см. Network — LocalSystem DDE — Интернет — сообщений см. Messenger — пользователя 3, — факсов см. Fax Service — системная служебная программа админи Ф стрирования IIS см. IIS файл Administration Script U t i l i t y — последовательной трасси список отозванных сертифика ровки тов см. CRL — циклической трассировки статистика трассировки стойкость шифра фильтр 81, страница перехода — глобальный 82, строка запроса счетчик 343, 345 — локальный 82, фоновое слияние — создание оповещений центр сертификации см. СА трассировачное ПО У Ч уведомление 174 Content Rotator (CONTROT.DLL) удаленные ресурсы узел 19, ш универсальное правило имено шаблон вания см. UNC — безопасности универсальный указатель ре i u ифрование сурсов см. URL — ключ уникальный идентификатор — закрытый — открытый управление доступом — секретный общего управляющий код пользования (ключ сеан уровень безопасности са) -IIS, 131, -Windows 131, Э утечка ресурсов электронный адрес учетная запись — Administrator Об авторе Уильям Р. Станск (William. R. Stanek, win2000-consulting@tv press.com) имеет за плечами более 15 лет опыта программи рования и разработки. Он один из ведущих экспертов по сетевым технологиям и автор множества известных книг. На протяжении многих лет его практические советы помогали программистам, разработчикам и сетевым инженерам по всему миру. Он также регулярно нишет для ведущих жур налов типа «PC Magazine», где его статьи обычно можно найти в разделе «Solutions». Он участвовал в написании бо лее 20 книг. Самые последние из них — «Microsoft Windows 2000. Справочник администратора*, «Microsoft Exchange 2000 Server. Справочник администратора», «Microsoft SQL Server 2000. Справочник администратора* и «Windows Scripting Bible*.

Станек активно участвует в разработке коммерческих Ин тернет-проектов с 1991 г. Первый опыт в области техноло гий он получил в армии, в которой прослужил 11 лет. Он обладает обширными знаниями в области разработки сервер ных решений, шифрования, Интернет-разработки, а также развертывания и технологий электронной коммерции. В и 1999 гг. Станек работал одним из начальников техничес кой службы iCat (сейчас — часть подразделения Internet Online Services корпорации Intel) бизнес-подразделения IDS корпорации Intel. В 1999 и 2000 гг. в компании-поставщике прикладных служб GeoTrust (Портленд, Орегон) он разра ботал основополагающие бизнес-стратегии и долгосрочные технологические планы, превратившие компанию из бумаж ной концепции в многомиллионный бизнес.

Станек имеет степень магистра информационных систем с отличием и степень бакалавра информатики magna cum laude.

Он гордится тем, что участвовал в военной операции в Пер сидском заливе и был членом экипажа самолета. Совершив множество боевых вылетов в Ирак, он получил девять ме далей, включая высшую американскую летную награду Крест за отличие ВВС США. Сейчас он вместе с женой и детьми проживает на Северо-западном побережье Тихого Океана.

Уильям Р. Станек Internet Information Services 5.0, Справочник администратора Перевод с английского под общей редакцией А. П. Харламова Компьютерная верстка В. Б. Хильченко Технический редактор Н. Г. Тимченко Дизайнер обложки Е. В, Козлова Оригинал-макет выполнен с использованием издательской системы Adobe PageMaker 6. TypeMarketFonflibrary А. И. Козлов Главный редактор Подго’1 ОВЛРНО к печати Издательско-торговым домом «Русская Редакциям Лицензия ЛР № (ШЙ422 от 19.03.99 г.

Подписано Е печать 17.04.2002 г. Тираж -1 000 экз.

Формат 8-1×108/32. Физ. п. л. 14, Отпечатано п ОАО «Типография «Новости»» 107003, Москва, ул. Фр. Энгельса. *.. * *. -ф » ;

* с с и он о л ь и ы и жур ноЛ Профессиональный журнал, посвященный исключительно вопросам разработки. Наши авторы — профессиональные программисты, которые д е л я т с я с читателями «секретами мастерства».

Мы публикуем материалы е самых современных технологиях и средствах разработки, статьи о принципах и методах, теории и практике программирования.

ПЛшска катлоге «Роспечать» -I&Q467, в. каталоге Пресса России» — 45775.

В каждом из номера! нашего журнала:

— ноюпи компьютерной индустрии — подробности о современных и перспмтшных технологи» — тесты и обзоры аппаратных и программных продукт — интернет и мультимедиа,игры • приклад НУ е программы — консультации э«перто*,1стре«и с интересными людьми — CD-приложение с полезным!

утилитами НАШИ ИНДЕКСЫ:

Hard’itSott -73140, Hard n Soft + CD — гесt КАТАЛОГ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ Если Вы хотите быть л курсе всех последних событии на рынке программного обеспе чения, з Если 8ы хотите полу чать наиболее полную информацию о програм мных продуктах из первых рук — от самих производителей, 119991 г. Москва, *Если Вы ведете честный ул. Губкина, д. бизнес и покупаете ли (095) 232- www.softline.ru цензионное ПО.

E-mail: info@softline.ru В/ШЖИЗНЬ ЮЮСМЬЕЩЕПРШШ Зг Подпишитесь на новый полноцветный каталог, издаваемый одним из круп нейших поставщиков программного обеспечения в России, и Вы будете регулярно получать его по почте БЕСПЛАТНО! Кроме того, по Вашему жела нию на Ваш электронный адрес будут регулярно приходить еженедельные новости рынка программного обеспечения от компании «СофтЛайн» ПОДПИСКА Microsoft* Internet Information Services 5. Справочник администратора Компактный справочник по администрированию IIS 5. Независимо оттого, сколько пользователей в вашей организации — 50 или 5 000, этот справочник поможет найти ответы на все, даже самые сложные вопросы администрирования Microsoft Internet Information Services и Microsoft Indexing Services. Подробные таблицы, списки и инструкции позволят моментально найти нужную информацию и уменьшить время простоя.

Вы научитесь:, администрировать Web-серверы: справочник содержит детальное описание средств, способов и концепций администрирования Web-серверов под управлением IIS;

управлять основными службами: подробные инструкции помогут быстро освоиться с администрированием FTP-, SMTP и NNTP-серверов, а также службы Indexing Service;

оптимизировать и поддерживать IIS: в книге даны советы по наблюдению, оптимизации и устранению проблем производительности IIS, а также по работе с журналами доступа и сервера.

Издательство «Русская Редакция» предствляет новую серию книг Microsoft Press Справочник администратора (Administrator’s Pocket Consultant) Каждое издание серии Internet объединяет руководство Information Services 5.0 по эксплуатации и подробный справочник по основным функциям и параметрам системы.

Iis справочник по периодам ожидания

Поставил! Но ничего не изменилось (даже за 3 дня).

бес попутал — признаю свою ошибку

If you are using the W3C Extended Log format, one more option will appear. You will see a checkbox next to Use Local Time for File Naming and Rollover. The W3C Extended Log format does not use the local time, it is based on GMT . By checking this box, the log files will be in sync with the local timezone on the server. This makes it a lot easier to manage the logs

Думаю, что ничего у нас не выйдет. А галочка Use Local Time for File Naming and Rollover нужна только для переименования файла.

  • Предложено в качестве ответа Nikita Panov 20 мая 2009 г. 8:26
Примечание.
Pavel Nagaev написано:

Думаю, что ничего у нас не выйдет. А галочка Use Local Time for File Naming and Rollover нужна только для переименования файла.

чекбокс — правит просто значение поля LogFileLocaltimeRollover в метабазе IIS — применяется после презапуска службы и применяется для времени создания нового файла лога

Национальная библиотека им. Н. Э. Баумана
Bauman National Library

Персональные инструменты

IIS (Internet Information Services)

Internet Information Services
Разработчики: Microsoft
Постоянный выпуск: 10 / 29 July 2015 года ; 4 years ago ( 2015-07-29 )
Состояние разработки: Active
Написана на: C++ (язык программирования) [1]
Операционная система: Windows NT
Локализация: Same languages as Windows
Тип ПО: Web server
Лицензия: Part of Windows NT (same license)
Веб-сайт iis .net

IIS (англ. Internet Information Services ) является Visual Basic приложением, которое располагается на веб-сервере и отвечает на запросы браузера. Приложение IIS использует HTML для представления своего пользовательского интерфейса и использует скомпилированый код Visual Basic для обработки запросов и реагирования на события в браузере. Для пользователя приложение IIS представляется рядом страниц HTML. Для разработчика приложение IIS состоит из особого типа объекта, называемого WebClass, который в свою очередь, содержит ряд ресурсов, называемых webitems. WebClass выступает в качестве центрального функционального блока приложения, обрабатывающего данные из браузера и отправляющего информацию пользователям. Разработчик описывает ряд процедур, которые определяют, каким образом WebClass отвечает на эти запросы. webitems являются HTML-страницами и другими данными, которые WebClass может отправить в браузер в ответ на запрос.


Содержание

Архитектура

Internet Information Services (IIS) 7 и выше обеспечивает архитектуру обработки запросов, которая включает в себя:

  • Служба активации процесса Windows (WAS), который позволяет сайтам использовать отличающиеся от HTTP и HTTPS протоколы.
  • Веб-движок сервера, который может быть изменен путем добавления или удаления модулей.
  • Интегрированные конвейеры обработки запросов от IIS и ASP.NET.

Компоненты

IIS содержит несколько компонентов, которые выполняют важные функции для приложений и ролей веб-сервера в Windows Server® 2008 (IIS 7.0) и Windows Server 2008 R2 (IIS 7.5). Каждый компонент имеет функции, такие как прослушивание запросов к серверу, управление процессами и чтение файлов конфигурации. Эти компоненты включают в себя обработчики протокола, такие как HTTP.sys и службы, такие как World Wide Web Publishing (служба WWW) и службы активации процесса Windows (WAS).

Internet Information Server (IIS) имеет свой собственный ASP.NET Process Engine для обработки запроса ASP.NET. Способ настройки приложения ASP.NET зависит от того, какая версия IIS приложения используется.

Internet Information Server (IIS) включает в себя набор программ для создания и администрирования веб-приложений, поисковых систем, а также поддержку для написания веб-приложений, обеспечивающих доступ к базам данных, таким как SQL Server. IIS позволяет настроить компьютер в качестве веб-сервера и предоставляет функциональные возможности для разработки и развертывания веб-приложений ASP.NET на сервере. Кроме того, возможно установить параметры безопасности для конкретного веб-сайта для конкретных пользователей и компьютера для того, чтобы защитить его от несанкционированного доступа.

По заявлениям разработчиков, IIS повышает доступность веб-сайтов и приложений при одновременном снижении системного администрирования и стоимости развертывания. IIS 7.5 поддерживает HTTP, HTTPS, FTP, FTPS, SMTP и NNTP.

Ключевые особенности

  • Встроенные расширения
    • WebDAV и FTP
    • Фильтрация запросов
    • Модули администрирования
  • Усовершенствования управления
    • Анализатор соответствия рекомендациям
    • Windows PowerShell провайдер и cmdlets
    • Ведение журнала конфигурации и трассировки
  • Улучшения хостинга приложений
    • Управляемые учетные записи служб
    • Hostable веб-ядро
    • Трассировка неудачных запросов для FastCGI
  • Улучшения .NET поддержки для Server Core

Установка

  • Нажмите кнопку Пуск и выберите Панель управления.
  • На панели управления выберите Программы, а затем Включение и отключение компонентов Windows.
  • В диалоговом окне «Компоненты Windows» нажмите Службы IIS, а затем кнопку ОК.

Конфигурирование

Настройка веб-узла по умолчанию: При установке IIS настроен для использования в качестве веб-узла по умолчанию; тем не менее может потребоваться изменить некоторые настройки. Чтобы изменить основные параметры для веб-узла и имитировать действия, которые требуются для настройки Apache в первый раз с помощью файла конфигурации:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните правой кнопкой мыши веб-узел, который необходимо настроить, на левой панели и выберите команду Свойства.
  5. Перейдите на вкладку веб-узел .
  6. В поле Описание введите описание веб-узла.
  7. Введите адрес Internet Protocol (IP) для веб-узла или оставьте значение по умолчанию все (не назначено) .
  8. Измените порт протокола управления передачей (TCP), соответствующим образом.
  9. Перейдите на вкладку Домашний каталог.
  10. Чтобы использовать папку на локальном компьютере, выберите каталог на данном компьютере и нажмите кнопку Обзор, чтобы найти папку, которую требуется использовать.
  11. Чтобы использовать папку, общий ресурс с другого компьютера в сети, выберите параметр Общая папка другого компьютера и затем введите путь или нажмите кнопку Обзор, чтобы выбрать общую папку.
  12. Нажмите кнопку Чтение предоставить доступ на чтение к папке (обязательно).
  13. Нажмите кнопку ОК, чтобы принять свойства веб-сайта.

Создание нового веб-узла:

Чтобы создать новый веб-узел на сервере Apache, необходимо настроить виртуальный узел и настроить отдельные параметры для узла. Если используются службы IIS, можно создать новый веб-узел путем перевода следующих терминов в эквивалентные термины IIS:

Apache термин Термин IIS
Корень документа Каталог домашней страницы веб-узла IIS
Имя_сервера Заголовок узла IIS
Прослушивание IIS IP-адрес и TCP-порт

Чтобы создать новый веб-узел в IIS, выполните следующие действия:

  1. Войдите в систему на компьютере веб-сервера с правами администратора.
  2. Нажмите кнопку Пуск, выберите Настройка и щелкните Панель управления.
  3. Дважды щелкните значок Администрирование, а затем дважды щелкните значок Диспетчер служб Интернета.
  4. Щелкните Действие, выберите пункт Создать и выберите веб-узел.
  5. После запуска мастера создания веб-узла, нажмите кнопку Далее.
  6. Введите описание веб-узла. Это описание используется для идентификации веб-узла в диспетчере служб Интернета только для внутренних целей.
  7. Выберите IP-адрес для веб-узла. Если выбрать все (без значения), веб-узел будет доступен для всех интерфейсов и всех настроенных IP-адресов.
  8. Введите номер порта TCP, чтобы опубликовать на нем сайт.
  9. Введите имя заголовка узла (реальные имя, которое используется для доступа к этому узлу).
  10. Нажмите кнопку Далее.
  11. Введите путь к папке, которая содержит документы веб-узла, или нажмите кнопку Обзор, выберите папку и нажмите кнопку Далее.
  12. Укажите права доступа для веб-узла и нажмите кнопку Далее.
  13. Нажмите кнопку Готово.

Настройка IIS

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

Кэширование вывода

Мы уже знаем, что ASP.NET поддерживает собственный механизм кеширования вывода, зачем же использовать еще один подобный механизм в IIS? Ответ на этот вопрос прост: помимо страниц ASP.NET существуют и другие виды содержимого, которое можно кешировать. Например, мы можем кешировать часто запрашиваемые статические файлы изображений или вывод собственных обработчиков HTTP-запросов. Для этой цели как раз и можно использовать механизм кеширования, поддерживаемый веб-сервером IIS.

В IIS имеется два механизма кеширования: кеш в пространстве пользователя и кеш в пространстве ядра.

Кеширование в пространстве пользователя

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

Чтобы настроить кеширование, откройте приложение IIS Manager, выберите свое веб-приложение, откройте настройку Output Caching (Кеширование вывода), щелкните на ссылке Add (Добавить) в панели Actions (Действия), чтобы добавить новое правило кеширования, или выберите существующее правило для редактирования.

Чтобы создать новое правило кеширования в пространстве пользователя, добавьте новое правило, введите расширение имен файлов, которые требуется кешировать, и отметьте флажок User-mode caching (Кеширование в режиме пользователя) в диалоге Add Cache Rule (Добавить правило кеширования), как показано на рисунке ниже:

Отметив флажок, вы получите возможность выбирать, когда кешированный элемент будет удаляться из памяти, после обновления файла на диске или спустя некоторое время с момента кеширования. Для статических файлов больше подходит вариант удаления после обновления, тогда как определение интервала времени больше подходит для динамического содержимого. Щелкнув на кнопке Advanced (Дополнительно) можно получить доступ к настройкам, управляющим кешированием различных версий вывода (согласно параметрам в строке запроса или HTTP-заголовкам).

После добавления правила кеширования, настройки сохраняются в файле web.config приложения, в разделе system.webServer caching. Например, для правила кеширования страниц .aspx на срок до 30 минут, с учетом HTTP-заголовка Accept-Language, будет сгенерирован следующий код в конфигурационном файле:

Кеширование в пространстве ядра

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

Настройка правил кеширования в пространстве ядра выполняется почти так же, как кеширование в пространстве пользователя. В диалоге настройки правила установите флажок Kernel-mode caching (Кеширование в режиме ядра) и выберите желаемый способ кеширования.

В одном правиле допускается использовать оба режима кеширования, в пространстве ядра и в пространстве пользователя. В этом случае IIS будет сначала пытаться применить кеширование в пространстве ядра. Если попытка не увенчается успехом, например, когда запрос содержит строку с параметрами, применяется кеширование в пространстве пользователя.

Если выбран вариант кеширования на определенный интервал времени в обоих режима, в пространстве ядра и в пространстве пользователя, оба интервала должны совпадать, в противном случае в обоих режимах будет использоваться интервал, установленный для кеширования в режиме ядра.

Настройка пула приложения

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

Понимание значения некоторых из этих настроек может помочь вам настроить работу пула и тем самым более полно удовлетворить потребности приложения.

Перезапуск

Изменяя параметр настройки перезапуска можно управлять моментом, когда пул приложения будет перезапускать рабочий процесс. Например, можно организовать перезапуск рабочего процесса через каждые несколько часов или когда будет превышен некоторый предел занимаемой памяти. Если с течением времени веб-приложение начинает потреблять большие объемы памяти (например, для хранения объектов), увеличение количества перезапусков может помочь удерживать его производительность на высоком уровне. С другой стороны, если веб-приложение не проявляет никаких проблем в процессе работы, уменьшение количества перезапусков предотвратит потерю информации о состоянии.

Для проверки количества и частоты перезапусков пула приложения можно использовать счетчик производительности ASP.NET\Worker Process Restarts. Если вы увидите слишком большое количество перезапусков без явной на то причины, попробуйте сопоставить полученные значения с потреблением памяти приложением и нагрузкой на процессор, потому что перезапуски могут быть обусловлены превышением других пределов, определяемых настройками пула приложения.

Тайм-аут простоя

По умолчанию пул приложения прекращает работу через 20 минут простоя. Если такие перерывы в работе ожидаемы, например, когда все пользователи уходят на обед, попробуйте увеличить тайм-аут или даже вообще отменить его.

Привязка процессов к ядрам процессора

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

Веб-сад

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

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

Другим примером, когда может пригодиться наличие нескольких процессов, выполняющих одно и то же веб-приложение — использование 64-разрядного сервера IIS, выполняющего 32-разрядное веб-приложение. 64-разрядные серверы обычно имеют большой объем памяти, а 32-разрядное приложение может использовать не более 2 Гбайт, что часто приводит к увеличению частоты сборки мусора и, вероятно, к перезапускам пула приложения. Поддерживая два или три рабочих процесса для 32-разрядного веб-приложения, можно добиться более полного использования памяти сервера, уменьшить частоту сборки мусора и перезапусков пула приложения.

В настройках IIS пула приложения можно определить максимальное количество рабочих процессов, которое можно запустить для обслуживания запросов. Если установить этот параметр в значение больше 1 (значение по умолчанию), с ростом нагрузки на веб-приложение для него будут запускаться дополнительные рабочие процессы, вплоть до указанного максимума. Пул приложения, имеющий более одного процесса, называется «веб-садом» («Web Garden»). Каждый раз, когда устанавливается соединение с клиентом, оно связывается с рабочим процессом, который будет обслуживать запросы от этого клиента, при этом соблюдается равномерное распределение запросов от пользователей между процессами и уменьшаются накладные расходы на конкуренцию.

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

Илон Маск рекомендует:  bgsound в HTML
Понравилась статья? Поделиться с друзьями:
Кодинг, CSS и SQL