1f190833

Установка и настройка IIS.


После установки SP3 сервер IIS2 из поставки NT4 "проапгрейдится" до сервера IIS3.

Определяемся - будем работать на этой версии или двинемся дальше. Если Вы решили остановиться на IIS3.0 то :

  1. Идем на Microsoft и скачиваем ASP1b Это где-то тут. http://www.microsoft.com/iis

    ASP - это библиотека, кипа документации и много-много воображения :-) . Скрипт - "енжина", движка, мотор обрабатывающий на стороне сервера последовательность команд и возвращающий клиенту HTML - код в ответ на действия клиента в контексте задачи. ASP позволит оживить сайт, и сделать его содержимое динамическим.

    Ниже - табличка эволюции ASP.

    ASP ASP Asp.dll Asp.dll Asp.dll
    versionbuildversiondatesize
    1.01.12.091.12.0612/6/96
    1.0a1.13.311.13.091/31/97371,744
    1.0b1.15.141.15.143/14/97378,992

    Если Вы по каким либо причинам не смогли найти пакет ASP, то просто скачайте с FTP - сайта Microsoft свежую библиотеку и "пропишите" ее в системе. Для этого - скопируйте ASP.dll в winnt\system32\inetsrv\ и с командной строки из этого каталога выполните 'regsvr32 ASP.dll '. Если пакет найден, то просто запустите .exe и наслаждайтесь процессом, в итоге у Вас будет и скрипт - енжина и документация.

  2. Ставим необходимые "фиксы". Как минимум: Get Admin Fix, Teardrop2 Fix, Snc Fix, SimpTCP Fix, SRV Fix, и все фиксы применительно к IIS3.0 и ASP (см таблицу).


В случае, если вы будете что либо изменять в конфигурации компьютера и при этом использовать дистрибутив NT4 не забудьте переустановить SP3 и Fixes.

Если вы решили установить IIS4, то скачивайте При установке компонент опшен-пака не ставьте того, что Вам не знакомо. Мне понадобился по началу IIS4 со всей документацией, ADO, RDS, FTP. Index Server я не ставил, т.к. есть решения и по круче, например от или от . Опять таки, после установки IIS4, ставим соответствующие Fixes.

Перезагрузка прошла успешно, NT "пропатчена" и "профиксена", начинаем оптимизировать.

Направление оптимизации системы и WWW сервера зависит от того, какие задачи будут выполняться.
В частности, будем ли мы использовать базы данных, а если будем, то какие именно? Каким будет сайт, его размер. Скорость и тип линии, по которой мы соединяемся с провайдером и еще много и много чего, в том числе: количество и тип процессоров , их загруженность, размер RAM и скорость винчестера. В таблице систематизированы типовые решения для IIS4.

Генеральные установки Действия Решения
Удаляем не используемые "маппинги". Microsoft Management Console -> Web sites (virtual servers) -> Right-click -> properties -> Home Directory -> Application Settings section -> Configuration button. Удаляем все маппинги кроме тех, которые будем использовать, как правило, остается только .asp Если Вы не нашли ни одного знакомого Вам расширения, все равно оставьте .asp Высвобождаем ресурсы IIS.
Для сильно загруженных серверов: установите Performance bar в положение More than 100,000. Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties ->Performance Переместите ползунок в право в положение More than 100,000. Перераспеделение ресурса процессора и системы с "простаивающих" процессов на IIS. Примечание: Используйте эту установку только для нагруженных сайтов.
Лог файлы
Если не используете лог - файлы, то отключите их. Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties->снимите галочку Enable Logging. Высвобождает системные реурсы.
Параметры протокола TCP - IP
Настройка TCP параметров в registry. Использовать Regedt32. HKLM\CurrentControlSet\ Services\TCPIP Parameters. Добавить value MaxUserPort в случае его отсутствия и установить значение 0xfffe. Добавить value TcpWindowSize в случае его отсутствия и установить значение 0x4470. Увеличение количества открытых портов и больший размер фрейма TCP позволят повысить производительность протокола.
Параметры для мультипроцессорных систем
Проверьте количество IIS threads.(потоки) Для проверки глубины очереди и количества потоков используйте Монитор. Если Ваша система имеет N процессоров и количество процессов в очереди находится в пределах от N до 3N то все в порядке. Если не уверены - оставьте значения по умолчанию. Для статических рабочих нагрузок. Вы можете установить MaxPoolThreads в 1 и PoolThreadLimit равным числу процессоров в вашей системе. Количество потоков должно быть таким, чтобы поступающие запросы не оказались заблокированными Однако, каждый поток использует системные ресурсы и может потенциально вызывать ненужные контекстные переключения. Цель состоит в том, чтобы сбалансировать количество потоков и запросов к IIS.
Оптимизация для Статических нагрузок
Установка TTL (время жизни объекта в кэше) По умолчанию: 30 секунд Используйте Regedt32, HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\InetInfo\ Parameters. Добавьте value ObjectCacheTTL Установите то значение, которое пожелаете. Определяется опытным путем, если не знаете что ставить, оставьте как есть. Если ресурсов много а сайт маленький - установите 0xffffffff. Этим Вы отключите очистку кеша.
Установка OpenFileInCache - количество хэндлов в кэшэ.По умолчанию: 1000 на каждые 32MB физической памяти Используйте Regedt32, HKEY_LOCAL_MACHINE\ System\ CurrentControlSet\ Services\ InetInfo\ Parameters. Добавьте value OpenFileInCache если оно отсутствует. Установите величину исходя из количества памяти. Большие статичные сайты могут резко поднять производительность увеличивая количество хэндлов в кэше. В этом случае обращение к файлам будет производиться не на винчестера а непосредственно к файлам в памяти компьютера.
Оптимизация ASP
Установите Processor ThreadMax на минимум. (по умолчанию - 30) Используйте Regedt32, HKEY_LOCAL_MACHINE\ SYSTEM \CurrentControlSet\ Services \W3SVC \ASP\Parameters. Добавьте ProcessorThreadMax Необходимо контролировать по монитору производительность IIS. Если при уменьшении величины ProcessorThreadMax производительность понизится - восстановите исходные параметры. Перераспределение процессов в мультипроцессорных системах сбалансирует нагрузку. Хорошо написанные скрипты ASP используют многопоточность.
Установите в AspScriptEngine CacheMax значение Processor ThreadMax, соответственно количеству процессоров в системе (умножить исходное значение) По умолчанию: 30 Скрипты для изменения настроек в IIS4 хранятся в metabase. Путь: /System32/ inetsrv/ adminisamples. Файл adsutil.vbs Данные настройки позволять енжине наиболее эффективно кэшировать скрипт - файлы.
Включите буферизацию для приложений ASP. Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties -> Performance -> Home/Virtual Directory property -> Configuration button ->App Options property -> Enable Buffering option. Установка этой опции буферизует вывод ASP на браузер. Это позволяет серверу передавать полный ответ в контексте задачи а не порцию обработанных данных.
Минимизируйте значение Session Timeout Microsoft Management Console -> Web sites (virtual servers) ->Right-click -> properties Экспериментальным путем выберите значение. У меня - 180



Примечание. Все значения - "DWORD". Высокий ObjectCacheTTL работает лучше всего для узлов с маленьким числом "популярных" файлов. Если. Если число часто требуемых файлов большое, высокий ObjectCacheTTL не поможет. IIS будет стараться оставить в кеше большее количество файлов и, в итоге, кэш будет заполнен,что замедлит открывание файлов. Установка высокого TTL полезна только в том случае, когда файлы многократно используются в пределах TTL периода. Используйте параметр OpenFilesInCache, чтобы ограничить число открытых файлов . Если Вы будете использовать лог - файл:
  • размещайте его на самом скоростном устройстве
  • ИМХО правильней сбрасывать логи в базу данных - в последствии легче анализировать (поля базы данных описаны в дакументации на IIS и даже есть текстовый файл с телом SQL - запроса для создания необходимой таблицы).
Базы данных. Настройка базы данных на максимальную производительность хорошо , а также и . Прежде чем приступить к оптимизации скорости доступа к базе нормализуйте саму базу данных. Устанавливайте базы на отдельные винчестеры и не размещайте базы данных в пределах root каталогов. Для обращения к базе используется ODBC, и нет необходимости выставлять на всеобщее обозрение файл с базой, размещая его в расшаренном каталоге (утащат :-))). Используйте высокопроизводительные базы данных. На пример чат Samara Pub использует , - SQL. Для простых задач и не шибко больших объемов - достаточно Access.

Содержание раздела