2000 г
Windows 2000 - поговорим о производительности
Журнал "Windows 2000 Magazine", #03/2000
Данная статья открывает цикл публикаций, посвященных настройке операционной системы Microsoft Windows 2000 для достижения оптимальной производительности. Здесь будут приводиться данные о методике тестирования различных параметров производительности Windows 2000; статистические данные, полученные в результате выполнения промышленных тестов (benchmark) на серверах IBM Netfinity, которые позволяют судить о характеристиках производительности Windows 2000 в оптимизированной вычислительной среде, и, наконец, показано, каким образом использовать встроенный в операционную систему Windows 2000 набор средств мониторинга производительности для выявления и устранения узких мест.
Эту и последующие статьи следует рассматривать главным образом как руководство для конфигурирования и настройки операционной системы Microsoft Windows 2000 с целью достижения оптимальной производительности с точки зрения:
- клиента;
- сетевой работы;
- файлового сервера;
- Web-сервера.
Ниже приведено краткое описание общих положений, которые относятся ко всем статьям цикла.
Тесты производительности
При подготовке материала использовались промышленные тесты и инструменты для определения характеристик производительности Windows 2000. Большинство тестов дают некоторую специфическую рабочую нагрузку или же имитируют определенную информационную среду (Information Technology environment). Хотя тесты разрабатывались с учетом реальных рабочих нагрузок, совершенно невозможно в рамках какого-то одного теста провести имитацию рабочих нагрузок во всех возможных вариантах. Вместе с тем, результаты подобных тестов в течение долгого времени использовались для описания и сравнения характеристик производительности конкурирующих систем. Результаты проведения тестовых прогонов служат одним из многочисленных критериев, которые учитывают IT-специалисты при выборе подходящей вычислительной платформы.
Различные инструментальные пакеты, упоминаемые в данной статье, такие, как WebLoad и WebBench, могут использоваться для тестирования индивидуальных рабочих нагрузок. Поскольку сами тесты могут быть сконфигурированы с учетом специфики выбранной среды или определенного вычислительного трафика, эти инструментальные пакеты позволяют заказчикам сымитировать и протестировать характеристики производительности своих вычислительных сред с большей точностью.
Настройка параметров производительности
Принято считать, что Windows 2000 является самонастраивающейся операционной системой. Это означает, что в большинстве случаев Windows 2000 автоматически адаптируется к текущей вычислительной среде для достижения оптимальной производительности. При этом предполагается, что аппаратная часть системы сконфигурирована правильно. Например, если она развертывается в качестве Web-сервера, то службы, присутствующие, но не используемые системой, переводятся в состояние, в котором они почти не расходуют ресурсы процессора и памяти. Однако производительность Windows 2000, как и любой другой операционной системы, зависит от многих внешних факторов, таких, как аппаратура, драйверы устройств, приложения, рабочая нагрузка, характеристики сети и т. д. Кроме того, существует целый ряд принципов настройки системы, знание которых поможет добиться достижения оптимальной производительности Windows 2000 при работе в определенных условиях.
Аппаратная часть
Для достижения максимальной производительности чрезвычайно важно правильно сконфигурировать компоненты аппаратного обеспечения. Если в состав аппаратуры входит не оптимизированный с точки зрения операционной системы компонент, это, без сомнения, пагубно отразится на производительности всей системы. Например, использование видеоадаптера с небрежно написанным видеодрайвером может отрицательно сказаться на производительности и/или результатах тестирования. То же справедливо и для других критичных компонентов, например для сетевых адаптеров (иногда именуемых сетевыми интерфейсными платами, NIC) и RAID-контроллеров, установленных на сервере. В каждом разделе содержится основная информация по конфигурации аппаратной части применительно к рассматриваемому сценарию тестирования. Очень важно убедиться в том, что все ключевые компоненты системы (видео, дисковая подсистема, RAID-контроллеры, сетевые адаптеры и т. д.) были оптимизированы для использования в среде Windows 2000.
Результаты замеров производительности
Результаты замеров производительности представлены в виде диаграмм. В ходе тестирования использовались две аппаратные конфигурации:
- минимальная рекомендуемая конфигурация (уровень малого бизнеса): один процессор, 256 Мбайт физической памяти, сеть Fast Ethernet;
- промышленная конфигурация: четыре процессора, 2 Гбайт физической памяти, сеть Gigabit Ethernet.
Для выработки базовой линии производительности тестирование выполнялось для двух операционных систем: Windows NT 4.0 и Windows 2000.
Узкие места производительности
Чтобы в полной мере разобраться в результатах любого тестирования, очень важно иметь представление о возможных недостатках в построении системы - узких местах (bottleneck). Это позволит в дальнейшем определить, где именно нужно добиваться улучшения производительности системы.
Производительность клиента
Клиентские системы используются для самых различных целей, в том числе для разработки приложений, в системах автоматизированного проектирования и производства (CAD/CAM), при имитационном моделировании, в играх, а также для работы с офисными приложениями (электронные таблицы, текстовые процессоры, почтовые клиенты, браузеры).
Производительность клиентских рабочих мест во многом зависит от назначения системы. Например, к системе, предназначенной прежде всего для работы в Web и чтения электронной почты, предъявляются иные требования, чем к системе, используемой для проектирования автомобилей с помощью программного обеспечения CAD/CAM. Итак, важно выбрать такую конфигурацию системы, которая соответствует решаемой задаче.
Тесты
Существует ряд тестов, с помощью которых имитируются операции, выполняемые на настольных системах. К ним относятся тесты Sysmark98 и Winstone99. И тот, и другой обеспечивают анализ основополагающих характеристик производительности заданной аппаратной конфигурации и, в меньшей степени, анализ производительности базовой операционной системы. И Sysmark98, и Winstone99 используют функции приложений, которые будут задействованы в реальных условиях. Это означает, что Sysmark98 и Winstone99 более реалистичны по сравнению с теми тестами, в алгоритме работы которых просто назначается время выполнения вызовов функций API внутри жестко заданных циклов. Однако в связи с использованием тестов Sysmark98 и Winstone99 нужно сделать ряд замечаний.
Управление приложениями происходит со скоростью, превышающей возможности человека. В процессе работы с приложением на скорости, с которой не способен работать человек (без временных задержек, связанных с нажатием клавиш или временем на раздумье), эти тесты могут выполнить несколько тысяч операций в заданный временной интервал, в то время как обычный пользователь за то же самое время в состоянии выполнить несравненно меньшее количество операций. И, как результат, функции, периодически выполняемые операционной системой, начинают больше влиять на состояние системы. При работе в обычном режиме они срабатывают в моменты наименьшей активности системы, поддерживая ее в сбалансированном состоянии. (К числу таких периодически выполняемых функций относится запись на диск недействительных страниц (dirty page), что происходит один или два раза в секунду, или приведение в порядок рабочих наборов процесса - задача, запускаемая ежесекундно.)
Возможности сетевой работы не используются. Отключение возможности работы в сети позволяет избежать влияния факторов, вызывающих задержки в работе клиента и неустойчивость параметров, что сказывается на интерактивной готовности (interactive responsiveness). Интерактивная готовность - это время, в течение которого пользователь ожидает завершения какой-либо операции или ответа приложения. Для многих операций, выполнение которых длится более одной секунды, на работу с диском или обработку сетевого запроса приходится большая часть общего времени выполнения, работа же процессора при этом составляет лишь небольшой процент. С одной стороны, такой подход удобен для настройки и запуска тестовых задач, но, с другой стороны, он уменьшает реалистичность самих тестов.
РИСУНОК 1. В конфигурации с объемом памяти 64 Мбайт, Windows 2000 Professional существенно быстрее, чем Windows 98 и сравнима по производительности с Windows NT Workstation 4.0. (Чем выше значение, тем лучше.)
Оценивается время выполнения огромного числа наборов операций, а не время выполнения отдельных операций. Оценивая общее время, отводимое на выполнение множества операций, вместо того чтобы измерять время выполнения каждой из них в отдельности, мы сталкиваемся с тем, что системные компоненты, которые обычно оказывают лишь незначительное влияние на работу реальных пользователей, начинают играть важную роль в тестовой статистике. Примером тому может служить оценка функциональности драйвера видеоадаптера. Одни и те же операции на одном видеоадаптере могут выполняться значительно медленнее, чем на другом, что увеличивает общее время, отводимое на операции с видео. Однако в процентном соотношении время, в течение которого реальный пользователь заметит замедление в работе из-за драйвера видеоадаптера, может оказаться несущественным. Другими словами, пользователь может не почувствовать разницу между двумя операциями, одна из которых выполняется 0,05 с, а другая - 0,058 с. Но если будет выполнен миллион таких операций, то незначительное вначале различие в скорости выполнения одной операции станет весьма существенным в общем времени тестового прогона и результатах теста.
Существует также целый ряд других тестов, на которых мы не будем останавливаться в данной статье, например графические тесты, тесты из области инженерного проектирования (SPECapc for Pro/Engineer), а также игровые тесты (Quake II и Unreal). За дополнительной информацией о некоторых инженерных тестах можно обратиться по адресу: http://www.spec.org/gpc.
Рекомендации по настройке аппаратной части клиента
Рекомендации, приведенные в Таблице 1, относятся к типовой настольной системе, на которую установлено следующее программное обеспечение: клиент электронной почты, Web-браузеры и офисные приложения. В этом случае лучшее, что можно сделать, - это выполнить все рекомендации, перечисленные в документации поставщика программного обеспечения и относящиеся к настройке аппаратной конфигурации рабочего места клиента.
Общие рекомендации по настройке клиента
РИСУНОК 2. Windows 2000 Professional существенно быстрее, чем Windows NT Workstation 4.0 на тестах high-end. Тестирование проводилось на системе Gateway PII 500 МГц, ATI Rage Pro AGP, Adaptec AHA-2940U2/U2W PCI SCSI Controller. (Чем выше значение, тем лучше.)
Новая установка. В процессе установки Windows 2000 рекомендуется размещать систему во вновь отформатированном разделе, используя подходящий тип файловой системы: FAT, FAT32 или NTFS. Во время установки Windows 2000 в только что отформатированный раздел программа инсталляции автоматически оптимизирует размещение файлов с тем, чтобы дефрагментация жесткого диска не потребовалась.
Обновление существующей версии операционной системы. В процессе замены установленной версии операционной системы на Windows 2000 чрезвычайно важно предварительно запустить процедуру дефрагментации жесткого диска. Процесс обновления версии зачастую приводит к тому, что файлы операционной системы "размазываются" по всему разделу. Дефрагментация диска приводит к сокращению необходимого для работы системы числа операций ввода/вывода, что повышает производительность системы в целом.
Преобразование типа файловой системы. Как и обычно, в процессе установки рекомендуется выбрать тот тип файловой системы, который будет использоваться в дальнейшем. Если же после инсталляции принято решение изменить тип файловой системы (например, с FAT на NTFS), предварительно рекомендуется запустить программу дефрагментации диска для достижения оптимальной производительности системы.
Системный файл подкачки. Если в системе имеется два или более жестких диска, рекомендуется освободить диск, на котором установлена система Windows 2000, от системного файла подкачки, переместив его на другой диск.
Результаты
На Рисунках 1, 2 и 3 сравниваются результаты тестов Business Winstone99 и High-End Winstone99 от ZD Labs, а также время старта системы Windows 2000 Professional и предыдущих версий Windows для различных конфигураций.
Узкие места производительности
РИСУНОК 3. На графике показано время с момента запуска системы до начала регистрации в домене. В процессе "холодной" загрузки, в "спящем" состоянии (standby) и в режиме ожидания Windows 2000 обеспечивает приемлемые показатели. (Чем ниже значение, тем лучше.)
Процессор по-прежнему остается наиболее критичным компонентом в системах, предназначенных для решения задач CAD/CAM или научного моделирования; однако для большинства пользователей вычислительная мощь современных процессоров все реже становится узким местом с точки зрения производительности системы. Фактически более 90% времени работы компьютера процессор обычно находится в состоянии ожидания (idle).
В типичных конфигурациях системы, когда запущены приложения электронной почты, текстовые процессоры и Web-браузеры, на поддержание интерактивной готовности большее влияние оказывают операции ввода/вывода с диском и сетевые операции, а не скорость работы процессора.
Аналогично, интерактивная готовность в тех конфигурациях, где имеется сетевое соединение, пусть даже это 10-мегабитная корпоративная сеть, больше зависит от скорости обработки сетевых запросов, чем от вычислительной мощи современных процессоров. Типичный процессор в состоянии выполнить 100 и более миллионов инструкций в секунду, но зачастую загрузка файлов или Web-страниц - даже по быстрым сетевым соединениям - занимает гораздо больше времени. Таким образом, пользователь чаще ожидает завершения сетевых операций, а не процессорной обработки.
Если же сетевое соединение не задействовано, например при запуске текстового редактора с локального диска, операции ввода/вывода с диском оказывают наибольшее влияние на производительность системы. Типичный диск на выполнение случайного запроса ввода/вывода затрачивает около 10 мс, а наиболее быстрые на сегодня диски в состоянии обработать до 100 случайных операций ввода/вывода за секунду. Первый запуск многих современных приложений, таких, например, как Microsoft Word, нередко требует 300 и более случайных дисковых операций, а значит, трех секунд обработки. Эти три секунды почти полностью уходят на выполнение дисковых операций ввода/вывода. Несколько последовательных запусков одного и того же приложения осуществляются практически моментально, поскольку приложение размещается в памяти компьютера, а, следовательно, процессор не должен ожидать завершения отнимающих много времени дисковых операций ввода/вывода.
Продолжение следует
Прим. редакции: при подготовке данной публикации были использованы материалы статьи "Windows 2000 Performance Tuning White Paper" с Web-сервера корпорации Microsoft http://www.microsoft.com/windows2000.
Тестовые конфигурации
Общие принципы конфигурирования тестов, настройки серверов и ведения учета испытаний
Прежде всего, очень важно быть уверенным в том, что состояние сервера и клиента на момент начала работы тестовой программы известно. В противном случае результаты тестирования могут быть неверно истолкованы, а в дальнейшем не будут воспроизводиться. Перечисленные ниже общие принципы помогут научиться запускать корректные тесты с воспроизводимыми результатами.
- Сначала необходимо настроить реестр, операционные службы и конфигурацию системы именно для того теста, который будет выполняться. Дело в том, что настройка, проведенная для одного теста, может оказаться не оптимальной для другого теста. Все рекомендации по настройке, перечисленные в данной статье, приводятся исходя из предположения, что начальное состояние сервера определяется установками, принятыми по умолчанию.
- При тестировании файлового сервера, а также для всех тестов, предполагающих запись данных в файл, следует повторно отформатировать разделы, на которых должны размещаться данные. Сами же тестовые данные нужно либо создать заново, либо скопировать из другого источника. Это будет служить гарантией одинакового состояния файловой системы при каждом запуске тестов.
- Перезагрузите сервер.
- Убедитесь в том, что все дополнительные параметры настройки, которые должны быть задействованы после перезагрузки системы, действительно установлены.
- Клиентские системы нужно перезагрузить, чтобы каждый раз при запуске очередного теста они находились в одинаковом состоянии. Следует особенно внимательно отнестись к очистке области Offline Files. Данный кэш следует очистить до того, как начнет свою работу очередной тест. Это необходимо сделать даже в том случае, если предполагается тестировать систему с включенной опцией Offline Files.
- Запустите тест.
- Сохраните результаты тестирования в файл, в имени которого будут отражены наименование сервера, операционной системы, тестовой программы; указаны особенности конфигурации сервера, информация о настройке системы и т. д. Например, имя файла N7k-win2k-wb-ecomm-1024bkey-2GB-std-tunes говорит о том, что тестирование осуществлялось для системы Netfinity 7000, под управлением Windows 2000, использовался тест электронной коммерции из пакета WebBench с длиной ключа сертификации 1024 бит, что в сервере установлено 2 Гбайт физической памяти, а также что настройка сервера выполнена некоторым стандартным способом. По мере накопления истории тестирования такой способ именования файлов с результирующей информацией сэкономит массу времени, когда потребуется отыскать какие-то конкретные данные.
- Следует сохранить записи с результатами работы каждого теста, включая имя файла, в котором содержатся результаты тестового прогона, информация о серверной конфигурации, а также все те сведения, которые в дальнейшем могут пригодиться для выяснения условий проведения теста и состава тестовой лаборатории.
Конфигурирование клиентских систем для тестирования
Число клиентских систем, которые необходимо задействовать в процессе тестирования, зависит от производительности станции клиента и объема установленной на ней памяти, быстродействия сервера в условиях данной тестовой нагрузки, а также от типа теста. Например, стандартные тесты WebBench, NetBench и ServerBench предполагают использование 60 клиентских систем, на которых запускается один-единственный поток или процесс, и каждый из них создает на сервере определенную нагрузку. Однако для статических тестов WebBench, проводимых на серверах промышленного класса под управлением Windows 2000, целесообразно увеличить число потоков, формирующих запросы, до трех, чтобы сервер оказался в достаточной степени нагружен и была достигнута его пиковая производительность. Если же в тестировании участвуют более мощные клиентские станции, пиковая производительность сервера может быть достигнута и при меньшем количестве клиентских станций, с одним нагружающим потоком на каждой из них.
В конфигурации тестовой лаборатории приведено описание конфигураций клиентских станций, использовавшихся для тестовых прогонов, результаты которых представлены в данной статье. Если имеется достаточное количество клиентских мест для загрузки Web-сервера с целью выявления его максимальной производительности, мощность клиентских станций, участвующих в тестировании, не имеет значения.
Конфигурация тестовой лаборатории
Клиенты, участвующие в тестировании
Тестовая лаборатория, которая использовалась при подготовке настоящей статьи, была представлена тремя типами клиентских станций, как показано в таблице "Клиенты тестовой лаборатории". Все станции клиентов, все серверы, участвующие в тестировании, а также система управления тестированием были объединены в две сети VLAN при помощи коммутатора HP ProCurve 4000M.
Клиенты тестовой лаборатории.
Системный компонент | Конфигурация |
Клиенты типа А |
Процессор | Intel Celeron, 466 MГц, 128 Kбайт L2 cache |
Память | 128 Mбайт, 100 MГц ECC SDRAM |
Сеть | 1 Intel PRO/100+ адаптер |
Диски | 1 x 4,3 Гбайт ATA/66 |
Операционная система | Windows 2000 Professional |
Клиенты типа В |
Процессор | Intel Pentium II, 266 МГц, 256 Кбайт L2 cache |
Память | 64 Mбайт, 66 MГц EDO |
Сеть | 1 Intel EtherExpress PRO/100+ адаптер |
Диски | 1 x 4,3 Гбайт IDE |
Операционная система | Windows 2000 Professional |
Клиенты типа С |
Процессор | Intel Pentium Pro, 200 MГц, 256 Kбайт L2 cache |
Память | 64 Mбайт, 66 MГц EDO |
Сеть | 1 3Com 3C905B адаптер |
Диски | 1 x 4,3 Гбайт IDE |
Операционная система | Windows 2000 Professional |
Серверы, участвующие в тестировании
При подготовке статьи использовались две тестовые серверные конфигурации: для малого/среднего бизнеса и промышленная конфигурация. Чтобы упростить процедуры тестирования, для обеих конфигураций использовалась одна и та же дисковая RAID-подсистема.
Конфигурация RAID.
Компонент подсистемы | Конфигурация |
RAID-адаптер | IBM ServRAID-3H адаптер с 64-битной шиной PCI: RAID 5, 32 Mбайт кэш, размер полосы 16 Kбайт; режим кэширования: с обратной записью, считывание вперед |
Физические диски | 10 Seagate Cheetah ST34502LC диски 4,51 Гбайт |
Разделы/Логические диски | 4 логических диска по 4 Mбайт каждый; файловая система: NTFS; размер кластера: 16 Кбайт; размер файла журнала: 65,536 байт |
Конфигурация для малого/среднего бизнеса (IBM Netfinity 5000).
Системный компонент | Конфигурация |
Процессор | Intel Pentium III, 500 MГц, 512 Kбайт L2 кэш |
Память | 256 Mбайт, 100 MГц ECC SDRAM |
Сеть | 1 IBM 10/100 EtherJet PCI адаптер, 1 Intel PRO/100+ адаптер управления |
Диски | OС на 2 Гбайт разделе диска IBM-PCCO DDRS-34560Y 9,1 Гбайт |
Операционная система | Windows 2000 Advanced Server |
Промышленная конфигурация (IBM Netfinity 7000 M10).
Системный компонент | Конфигурация |
Процессор | 4 Intel Pentium III Xeon, 500 MГц, 512 Kбайт L2 кэш |
Память | 2 Гбайт, 100 MГц ECC SDRAM |
Сеть | 2 Alteon WebSystems PCI Gigabit Ethernet-адаптеры |
Диски | OС на 2-гигабайтном разделе диска Seagate Cheetah ST39102LC 9,1 Гбайт |
Операционная система | Windows 2000 Advanced Server |
Offline Files
Понятие Offline Files, иногда называемое client-side caching (CSC), - это новая характеристика Windows 2000, которая дает пользователям возможность хранить на своей станции локальные копии файлов, расположенных в сетевых каталогах совместного доступа. Это удобно для тех пользователей, которые не всегда подсоединены к сети, где изначально хранятся эти файлы. Кроме того, возможность Offline Files дает некоторый выигрыш в производительности, когда клиент подключен к сети. Например, открывая на ресурсе общего доступа файл, который помечен для использования в режиме offline, пользователь может выполнять операции чтения из локальной копии на своем диске, а не обращаться к файлу по сети.
Свойство Offline Files активизируется на файловом сервере в том случае, если совместно используемый ресурс создается следующим образом:
net share RAID1=g:\ /CACHE:Automatic
Когда клиент Windows 2000 обращается к файлу на разделяемом сетевом ресурсе, для которого активизирована опция Offline Files, часть данных записывается в кэш в каталог %Windir%\CSC. Вот почему очень важно, чтобы до начала работы очередного теста из кэш-каталога была удалена вся ранее записанная информация. В противном случае тест может "зависнуть" или его результаты будут искажены.
Чтобы удалить файлы и каталоги из папки %Windir%\CSC, рекомендуется создать файл, который будет запускаться на каждой станции клиента и выполнять по порядку перечисленные ниже действия.
- Удаление всех текущих разделяемых ресурсов.
- Остановка службы computer browser.
- Остановка службы messenger.
- Остановка службы workstation.
- Удаление всех файлов и подкаталогов в каталоге %Windir%\CSC.
- Запуск службы workstation.
- Запуск службы messenger.
- Запуск службы computer browser.
Таблица 1.
Минимальная конфигурация клиента
- Процессор Pentium 133 MГц
- 32 Мбайт физической памяти
Рекомендованная конфигурация клиента
- Процессор Pentium 133 MГц или лучше
- 64 Мбайт физической памяти
Контрольная таблица для тестирования клиента
- Подберите соответствующие задаче аппаратные компоненты.
- Установите Windows 2000 в только что отформатированный раздел.
- Если установка новой версии Windows 2000 выполняется в заново отформатированный раздел, проводить дефрагментацию жесткого диска не нужно.
- Если производится замена версии NT на Windows 2000, НЕОБХОДИМО до проведения тестирования дефрагментировать жесткий диск.
- Если изменяется тип файловой системы (например, с FAT на NTFS), НЕОБХОДИМО до проведения тестирования дефрагментировать жесткий диск.