Занятие 2. Факторы, влияющие на производительность Internet Information Server

(Продолжительность занятия 25 минут)

На производительность Internet Information Server влияет множество факторов, среди которых важно идентифицировать негативные. Заблаговременно выявив их, Вы сумеете оптимизировать работу Internet Information Server. На этом занятии описаны факторы, снижающие производительность, и рассказано, как уменьшить их влияние.


Изучив материал этого занятия, Вы сможете:


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

Полоса пропускания

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

Тип подключения к Интернету

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

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

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

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

Обычно для подключения к Интернету используется маршрутизатор, с которым Ваш компьютер связан посредством платы сетевого адаптера. Вам потребуется высокопроизводительный сетевой адаптер, чтобы предотвратить возникновение «узких» мест между Интернетом и Вашим компьютером. Например, если Ваш компьютер подключен к Интернету по линии Т1, имеющей полосу пропускания 1,54 Мбит/с, то достаточно обычной 10-мегабитной локальной сети Ethernet. Однако если для подключения к Интернету используется линия Т3, следует подумать о соединении посредством оптоволоконной сети, так как 45-мегабитная полоса пропускания ТЗ значительно превышает пропускную способность стандартной сети Ethernet.

Пропускная способность сети

Тип используемой сети самым непосредственным образом сказывается на производительности сервера. Она снижается, когда пропускной способности сети недостаточно для передачи всех данных, которые необходимо переслать. Кроме того, другие работающие на компьютере приложения (например, система электронной почты), которые занимают часть полосы пропускания, уменьшают ширину полосы, доступную Internet Information Server.

> Скольких одновременно работающих пользователей «выдержит» Ваше соединение

  1. Предположим, что Вы хотите уложиться в 5 секунд при передаче текстовой страницы и что размер передаваемого пользователю файла страницы составляет 63 360 бит. Разделите 63 360 бит на 5 секунд. Получится, что каждому пользователю необходимо передавать 12 672 бит/с.
  2. Разделите скорость подключения на скорость передачи, необходимую каждому пользователю. Например, для линии Т1 разделите 1 540 000 бит/с на 12 672 бит/с на пользователя. В результате Вы получите число пользователей, которые одновременно смогут работать с сервером (в нашем примере — 121).

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


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

Тип подключения

Число пользователей

Выделенное PPP/SLIP

2-3

56 К (Frame Relay)

10-20

ISDN (с применением РРР)

10-50

Т1

100-500

ТЗ

>5000

Аппаратура

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

Процессорные ограничения

Скорость, с которой информация перемещается между различными компонентами компьютера, (например, центральным процессором, жестким диском и ОЗУ), зависит от тактовой частоты процессора и от разрядности шины данных, используемой для передачи информации. Чем больше тактовая частота, тем больше oпeраций передачи данных по шине может быть выполнено за один и тот же интервал времени. Тактовая частота обычно измеряется в мегагерцах (МГц). Шина данных за одну операцию посылки данных может передать 16, 32 или 64 бита, в зависимости от разрядности. Скорость передачи данных зависит также от используемой операционной системы и от быстродействия приложения.

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

Ограничения, накладываемые ОЗУ

Обычно когда Вы запускаете приложение, компьютер копирует необходимые файлы приложения с жесткого диска в ОЗУ, после чего приложение запускается уже из ОЗУ. Так как ОЗУ имеет гораздо меньшее время доступа, чем жесткий диск, то чем реже компьютер обращается к жесткому диску, тем быстрее будет запущено приложение. При запуске Internet Information Server использует некоторую часть ОЗУ. Ее объем зависит от многих факторов, включая:


Совет Task Manager показывает, какой объем ОЗУ задействован в данный момент времени.


Обрабатывая запрос, Internet Information Server обычно кэширует возвращаемый файл в ОЗУ. При поступлении последующих запросов того же файла Internet Information Server использует копию файла, находящуюся в кэше, не обращаясь к жесткому диску. Тем самым уменьшается время, которое Internet Information Server затрачивает на обслуживание запроса, и ускоряется доступ клиентов к узлу. Однако время, в течение которого файл остается в кэше, зависит и от ряда других факторов.

По мере поступления новых запросов старые файлы удаляются из кэша, чтобы освободить место для новых. Это означает, что если Вы разрешите загружать со своего узла большое количество файлов, располагая небольшим объемом ОЗУ, доступ может замедлиться, поскольку Internet Information Server будет практически всегда считывать необходимые файлы с жесткого диска. Кроме того, другие приложения, работающие на том же компьютере и использующие его ОЗУ, вытеснят оттуда кэшированные копии файлов, очищая кэш для своих нужд. В результате Internet Information Server не сможет держать кэшированные файлы в ОЗУ, что также приведет к замедлению доступа к узлу.

Так как большие файлы занимают больше места в ОЗУ, чем маленькие, то запросы на них (например, на аудио- и видеоинформацию) могут ускорить ротацию файлов в кэше при незначительном объеме ОЗУ. Если Вы публикуете большие документы или их просто много, либо запускаете на компьютере, где работает Internet Information Server, другие приложения, интенсивно использующие память, Вы можете значительно повысить производительность системы, увеличив объем ОЗУ. Если же Вы публикуете на узле несколько файлов сравнительно малого размера, расширение объема ОЗУ практически не скажется на быстродействии.

Ограничения, связанные с платами сетевых адаптеров

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

На узле со средней загрузкой Internet Information Server обычно полностью занимает ресурсы 10-мегабитного адаптера Ethernet. Чтобы сервер не перегрузил сеть, используйте либо несколько таких адаптеров, либо установите 100-мегабитный Ethernet-адаптер или адаптер FDDI. Если Вы подозреваете, что ресурсы повышения производительности узла исчерпаны, проверьте процент использования процессора на клиенте и на сервере. Если и там, и там процессор не загружен, то проблема в чем-то ином. Воспользуйтесь утилитой Network Monitor из состава Windows NT и выясните степень использования сети. Если на клиенте или на сервере используется около 100% ресурсов сети, то узким местом, по-видимому, является сеть.

Ограничения, связанные с жесткими дисками

Частота обращений Internet Information Server к жесткому диску прямо пропорциональна объему ОЗУ, а также числу и размеру запрашиваемых файлов. Если в Вашем распоряжении лишь сравнительно небольшой объем памяти, а пользователи обращаются ко множеству разных файлов или размер запрашиваемых файлов достаточно велик, Internet Information Server не сможет хранить копии файлов в ОЗУ, чтобы ускорить доступ к ним. В этом случае ему придется считывать файлы с жесткого диска, и поэтому скорость обслуживания запросов будет определяться скоростью доступа к жесткому диску и его объемом.

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

жесткому диску, то процент использования процессора остается небольшим, пла

та сетевого адаптера не перегружается, но значение счетчика Physical Disk % Disk Time велико. Чтобы исправить положение, воспользуйтесь дисковым массивом (Redundant Array of Inexpensive Drives, RAID) и средствами организации дисковых массивов Windows NT.

Скорость работы сетевых приложений

Некоторые сетевые технологии требуют больших ресурсов, чем другие. Например, служба FTP использует меньше памяти, чем служба Web, a ASP-приложения, CGI-сценарии, запросы к базам данных и видеофайлы требуют больше процессорных ресурсов, нежели статические HTML-страницы.

ISAPI, CGI и ASP

Internet Information Server поддерживает два уровня программирования сервера. На более сложном предполагается использование ISAPI, а уровень попроще базируется на CGI-сценариях и новом интерфейсе ASP.

ISAPI

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

ISAPI подробно обсуждается в главе 5, «Настройка службы WWW».

CGI

CGI и язык создания сценариев PERL предлагают другой, более простой, метод создания Web-приложений. Internet Information Server поддерживает и CGI, и PERL, что особенно полезно в ситуациях, когда необходимо обеспечить совместимость с существующими Web-серверами на базе UNIX.

CGI и PERL более подробно обсуждаются в главе 11, «Активные страницы сервера».

ASP

Активные страницы сервера обладают значительными преимуществами по сравнению со сценарными системами CGI и PERL. ASP поддерживают интерфейс Open Script, позволяя разработчику пользоваться любым языком написания сценариев, отвечающим этому стандарту. В число языков, удовлетворяющих требованиям Open Script, входят VBScript и Micros9ft JScript. Для изучения этих сценарных языков требуется гораздо меньше времени, и поэтому они широко распространены среди программистов и пользователей.

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

Фильтры ISAPI

ISAPI-фильтры выполняют предварительную обработку сообщений, тем самым снижая нагрузку на сервер. Например, ISAPI-фильтр может отказать в доступе к Web-серверу пользователям, не имеющим необходимых полномочий. В этом случае ISAPI-фильтр взаимодействует с Диспетчером защиты (Security Accounts Manager, SAM), чтобы непосредственно аутентифицировать пользователей, минуя процесс Inetinfo IIS.

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

Фильтры ISAPI более подробно обсуждаются в главе 5, «Настройка службы WWW».

Протоколирование ODBC

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

ODBC-коннектор подробно обсуждается в главе 11, «Активные страницы сервера».

Средства защиты

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

Средства безопасности Internet Information Server обсуждаются в главе 9, «Применение средств защиты Windows NT и Internet Information Server».

Резюме

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

Используются технологии uCoz