Универсальные серверы для рабочих групп отечественных производителей
Методика проведения тестирования
Klondike President 1500A и Klondike President 2000A
TCM Atlant XP 2240A и TCM Atlant P2280A
Desten Navigator DX 7280 и Desten Navigator DX 7280 (533)
В тестовой лаборатории «КомпьютерПресс» проведено тестирование универсальных серверов для рабочих групп отечественных производителей на предмет определения производительности при использовании их в качестве файловых и Web-серверов. Серверы тестировались под управлением операционной системы Microsoft Windows 2000 Server с Service Pack 3. В тестировании приняли участие серверы: Desten Navigator DX 7280, Desten Navigator DX 7280 (533), Exсimer GLADIATOR RS8-3-RM, GEG Express X1280S, KLONDIKE President 1500A, KLONDIKE President 2000A, K-Systems WORKGROUP 5200, TCM Atlant XP 2240A, TCM Atlant XP 2280, Альтаир iNet SM252, МИР-3Г/2 х 2.8Xeon/BR2/2GB/5 х 36-15K/160.2ch/1Gbit/CD40x и МИР-3Г/2 х 2.8Xeon/BR2/4GB/5 х 36-15K/320.2ch/1Gbit/CD40x.
Введение
а прошедший со времени нашего последнего тестирования серверов год ситуация на рынке серверов претерпела значительные изменения. Конечно, рынок серверных платформ развивается не столь динамично, как рынок платформ для ПК, однако в 2002 году корпорация Intel объявила о выпуске сразу нескольких серверных процессоров, чипсетов для серверных плат и корпусов. Поэтому фактически в прошлом году полностью обновилась линейка серверных платформ.
Прежде чем переходить к описанию методики и результатов тестирования, давайте ознакомимся подробнее с новыми серверными платформами. Правда, рассматривать мы будем только серверные платформы с числом процессоров не более двух.
Итак, первой новинкой, представленной в 2002 году, являются новые серверные процессоры Intel Xeon, известные под кодовым названием Prestonia. Модельный ряд процессоров Intel Xeon для построения двухпроцессорных серверов до этого включал процессоры с тактовыми частотами 1,8, 2,0, 2,2 и 2,4 ГГц, которые выполнены по 0,13-микронному технологическому процессу, имеют кэш второго уровня 512 Кбайт и построены на ядре Northwood. Кроме того, предыдущее поколение процессоров Intel Xeon поддерживало 400-мегагерцевую системную шину. Новые процессоры Intel Xeon имеют тактовые частоты 2,0, 2,4, 2,66 и 2,8 ГГц, но, в отличие от предыдущего поколения процессоров, поддерживают 533-мегагерцевую шину. По всем остальным параметрам характеристики новых и старых процессоров совпадают: новые процессоры поддерживают технологию Hyper-Threading и выполнены на основе микроархитектуры Intel NetBurst, с кэш-памятью второго уровня L2 512 Кбайт.
Одновременно с выпуском новых процессоров Intel Xeon (Prestonia) корпорация Intel выпустила новый набор микросхем (чипсет) для поддержки этих процессоров. Речь идет о чипсете Intel E7501, известном под кодовым названием Plumas (рис. 1).
Рис. 1. Структурная схема чипсета Intel E7501
Данный чипсет является логическим продолжением чипсета Intel E7500. Фактически новая и старая версии чипсета имеют лишь два существенных различия. Так, новый чипсет поддерживает системную шину c тактовой частотой 533 МГц и двухканальную память DDR266. Напомним, что чипсет E7500 поддерживал системную шину c тактовой частотой 400 МГц и двухканальную память DDR200.
Набор микросхем E7501 состоит из концентратора управления памятью MCH, обеспечивающего взаимодействие с двухканальной памятью DDR200/266. Память работает на эффективной частоте 133 МГц и дает максимальную пропускную способность 4,266 Гбайт/с. Это позволяет согласовать пропускную способность процессорной шины с пропускной способностью канала памяти. Память DDR266, применяемая в серверных платформах нового поколения, поддерживает коррекцию ошибок ECC. Всего же новый набор микросхем E7501 предоставляет в распоряжение до 16 Гбайт памяти при использовании четырех DIMM-модулей на каждый канал памяти.
Концентратор управления памятью MCH может быть связан с тремя мостами подсистемы ввода-вывода P64H2 по высокоскоростным шинам Intel Hub Interface (HI 2.0). Архитектура и протокол этого интерфейса имеют пропускную способность 1,066 Гбайт/с (16 бит, 66 МГц, частота 8х). Таким образом, общая пропускная способность подсистемы ввода-вывода составляет 3,2 Гбайт/с.
Каждый мост подсистемы ввода-вывода P64H2 поддерживает двойные интерфейсы PCI, совместимые с PCI-X. Сегменты PCI-X независимы, и каждый из них поддерживает от 1 до 4 слотов PCI и/или down device. Все сегменты PCI-X имеют 64-разрядную ширину, могут работать на частотах 66-133 МГц и поддерживают функцию горячей замены. Причем если используется частота 66 МГц, то допустимо применение четырех PCI-слотов, а для частоты 133 МГц только одного PCI-слота. Таким образом, при использовании всех трех мостов P64H2 можно получить максимально до двенадцати 66-мегагерцевых 64-битных или шесть 133-мегагерцевых 64-битных PCI-слотов на шести независимых PCI-сегментах.
Естественно, что в наборе микросхем E7501 имеется и традиционный хаб ввода-вывода ICH3-S (Мост I/O), обеспечивающий поддержку стандартных функций южного моста. Связь ICH3 с MCH осуществляется по интерфейсу HI 1.5
Серверные платформы на базе новых процессоров Intel Xeon и набора микросхем E7501 могут оснащаться двухпортовыми гигабитными сетевыми адаптерами Intel 82546EB Gigabit Ethernet, реализованными на одной микросхеме, или гигабитными сетевыми адаптерами Intel 82545EM, которые подключаются к мостам P64H2 в качестве down device и поддерживают шину PCI-X. Кроме того, возможно использование гигабитного адаптера на основе однокристального чипа Intel 82540EM.
Наряду с новыми процессорами Intel Xeon и чипсетом E7501 компания Intel анонсировала и соответствующие двухпроцессорные системные платы. Всего таких плат четыре: SE7501WV2, SE7501HG2, SE7501BR2 и SE7501CW2. Все они построены на основе чипсета Intel E7501 и образуют полный спектр системных плат для двухпроцессорных систем на базе процессоров Intel Xeon (Prestonia) с частотой системной шины 533 МГц. К сожалению на момент написания статьи отсутствовала подробная информация о плате SE7501CW2, поэтому приведем описания только первых трех. Кратко о плате . SE7501CW2 можно сказать, что она представляет собой упрощенный вариант платы SE7501BR2.
Серверная системная плата SE7501WV2 (рис. 2), предназначенная для использования с серверным корпусом Intel SR1300 высотой 1U или с серверным корпусом Intel SR2300 высотой 2U, оптимизирована для серверов с высокой плотностью монтажа например высокопроизводительных вычислительных систем или систем мультимедийной потоковой трансляции.
Рис. 2. SE7501WV2
Для корпуса высотой 1U в сервере доступно два слота PCI-X (низкопрофильный и полнопрофильный), а в для корпуса высотой 2U — шесть слотов PCI-X (три низкопрофильных и три полнопрофильных). Кроме того, данная плата поддерживает до 12 Гбайт регистровой двухканальной DDR266 SDRAM-памяти с коррекцией ошибок ECC с использованием шести DIMM-слотов, имеет двуxпортовый гигабитный сетевой адаптер Intel 82546EB Gigabit Ethernet и двухканальный контроллер SCSI Ultra320 на основе чипа Adaptec AIC-7902. Естественно, имеется также и интегрированный видеоконтроллер ATI Rage XL с 8 Мбайт видеопамяти.
Серверная системная плата SE7501HG2 (рис. 3) предназначена для установки в корпус Intel SC5200 и представляет собой высокопроизводительную серверную платформу для инфраструктуры СУБД или приложений масштаба подразделения. Плата может использоваться как в пьедестальном корпусе, так и в корпусе для монтажа в стойку (высота 5U).
Рис. 3. SE7501HG2
Плата SE7501HG2 имеет шесть свободных слотов PCI-X на трех независимых PCI-шинах и поддерживает установку до 12 Гбайт регистровой двухканальной DDR266 SDRAM-памяти с коррекцией ошибок ECC с использованием шести DIMM-слотов. Кроме того, на плате интегрированы двуxпортовый гигабитный сетевой адаптер Intel 82546EB Gigabit Ethernet и двухканальный Ultra320 SCSI-контроллер на основе чипа Adaptec AIC-7902. Имеется также интегрированный видеоконтроллер ATI Rage XL с 8 Мбайт видеопамяти. Фактически, как нетрудно заметить, плата SE7501HG2 по своим функциональным возможностям аналогична плате SE7501WV2, но, в отличие от нее, ориентирована на использование в пьедестальных корпусах.
Серверная системная плата SE7501BR2 (рис. 4) также предназначена для установки в корпус Intel SC5200 или в новый серверный корпус Intel SC5250-E. Она представляет собой массовую серверную платформу с высокой пропускной способностью и производительностью для приложений электронного бизнеса и рабочих групп.
Рис. 4. SE7501BR2
Плата имеет шесть свободных PCI-слотов (четыре слота PCI-X 64 бит/100 МГц, два слота PCI 32 бит/33 МГц), реализованные на трех независимых PCI-шинах, и поддерживает установку до 8 Гбайт регистровой DDR266 SDRAM-памяти с коррекцией ошибок ECC с использованием четырех DIMM-слотов. Кроме того, на плате интегрированы однопортовый гигабитный сетевой адаптер Intel 82540EM Gigabit Ethernet и однопортовый адаптер 10/100Base-TX на основе чипа Intel 82550PM. Имеются также одноканальный Ultra320 SCSI-контроллер на основе чипа Adaptec AIC-7901 и, конечно же, интегрированный видеоконтроллер ATI Rage XL с 8 Мбайт видеопамяти.
Как уже отмечалось, новые серверные платы ориентированы на установку в новые серверные корпуса, например в популярный серверный корпус Intel SC5200. Он предназначен для массовых и высокопроизводительных серверов и может использоваться как в пьедестальном исполнении, так и для монтажа в 19-дюймовую стойку с высотой корпуса 5U. Конструкция корпуса предусматривает возможность установки двух корзин для SCSI-дисков (по пять дисков в каждой корзине). Таким образом, имеется возможность установки десяти SCSI-дисков с функцией горячей замены. Кроме того, в сервере предусмотрено еще три места для установки устройств с формфактором 5,25 дюйма.
В стандартной комплектации корпус оснащается блоком питания мощностью 450 Вт, однако можно использовать три блока питания по 350 Вт каждый по схеме с резервированием с функцией горячей замены и с безынерционным переключением. Другой особенностью нового корпуса является усовершенствованная система охлаждения. Прежде всего, все вентиляторы в корпусе поддерживают функцию горячей замены, а доступ к ним осуществляется без вскрытия самого корпуса (для этого на боковой панели корпуса предусмотрена специальная дверца). Кроме того, для эффективной циркуляции воздуха внутри корпуса используются специальные воздуховоды.
В заключение нашего небольшого обзора отметим, что, кроме серверов, построенных на новых серверных компонентах Intel, существуют и серверные платформы сторонних производителей, например SuperMicro. Да и компания Intel предоставляет большое разнообразие двухпроцессорных системных плат, построенных на чипсетах Intel E7500, а также на чипсете ServerWorks Grand Champion. Таким образом, у производителей имелся достаточно большой выбор комплектующих для производства серверов. Фактически в нашем тестировании не было ни одной повторяющейся конфигурации сервера, что, несомненно, сделало его еще более интересным.
Критерии отбора
частникам испытаний предлагалось представить для тестирования серверы собственного производства, удовлетворяющие следующим требованиям:
- обязательным требованием являлось наличие двух процессоров, при этом допускалось использование любых серийно выпускаемых процессоров. Частота процессора должна была соответствовать номинальной;
- допускалось применение любой двухпроцессорной системной платы. Чипсет системной платы не оговаривался;
- допускалось использование любого типа оперативной памяти с коррекцией ошибок ECC в объеме не менее 1 Гбайт;
- в сервере допускалась установка не более пяти жестких дисков с любым интерфейсом (IDE, SCSI) и установка любого RAID-контроллера. RAID-массив должен был содержать один логический диск с файловой системой NTFS и размером кластера по молчанию. Уровень RAID-массива должен был обеспечивать надежность хранения данных (RAID Level 0 не допускался). При использовании в сервере более двух жестких дисков требовалось, чтобы операционная система размещалась на отдельном диске;
- допускалось использование интегрированного видеоадаптера или любого другого видеоадаптера;
- требовалось, чтобы в сервере был интегрирован на системной плате или установлен дополнительно один гигабитный сетевой адаптер 1000Base-T;
- в сервере должно было иметься устройство для чтения компакт-дисков. Ограничений на тип устройства не накладывалось;
- на сервере должна была быть установлена операционная система Microsoft Windows 2000 Server с Service Pack 3;
- производитель мог по своему усмотрению устанавливать все обновления на чипсет и драйверы устройств, а также производить дополнительную настройку операционной системы.
Важно отметить, что цена тестируемых серверов не ограничивалась. Это, во-первых, позволило участникам тестирования указать реальную цену на сервер. Мы не случайно акцентируем внимание на этом, поскольку по опыту сравнительных тестирований можем сказать, что включение цены в итоговую оценку устройства часто приводит к сильному ее занижению. Во-вторых, отсутствие ценовых ограничений значительно расширяло возможности выбора комплектующих и соответственно конфигурации сервера. В итоге цены представленных на тестирование серверов колебались в диапазоне от 5 до 10 тыс. долл. Что ж, посмотрим, зависит ли от цены производительность сервера.
Хочется также обратить внимание на то обстоятельство, что, несмотря на отсутствие каких-либо ограничений, в нашем тестировании не было представлено ни одного сервера на процессорах AMD Athlon MP. Хочется надеется, что в следующем году, когда станут доступными процессоры Opteron (SlegeHammer), ситуация изменится.
Учитывая, что тестирование каждого сервера занимает довольно много времени, наше тестирование растянулось более чем на месяц. За это время компанией Intel были анонсированы новые серверные платы. А поскольку к тестированию допускались только официально объявленные продукты, возникла ситуация, когда серверы, тестировавшиеся в конце, оказались в более выгодных условиях, чем серверы, прошедшие испытания вначале. Для того чтобы создать равные для всех компаний условия, мы приняли решение провести второй тур и предложили всем компаниям предоставить для повторного тестирования новые серверы. При этом подчеркнем, что во втором туре тестирование проходило по укороченной программе, то есть все тесты запускались только один раз, а изменения в конфигурацию серверов не вносились.
С другой стороны, тестирование серверов требует наличия сетевого стенда, состоящего из большого числа рабочих станций, и далеко не все компании могли позволить себе провести предварительное (пробное) тестирование серверов. Поэтому многие компании получили возможность «опробовать» свои серверы в первом туре и с учетом выявленных недостатков предоставить на тестирование еще один сервер. Конечно, если результаты, продемонстрированные сервером при первом тестировании, устраивали компанию, то она могла отказаться от проведения повторного тестирования.
Особо подчеркнем, что по результатам тестирования в I и II турах в зачет шел только один, лучший результат.
По сути, второе тестирование стало «матчем-реваншем» для компаний, недовольных результатами первого тестирования. Однако, как выяснилось в дальнейшем, итоги повторного тестирования существенным образом не повлияли на расстановку сил, сложившуюся по результатам первого тестирования.
В I туре тестирования приняли участие восемь серверов: Desten Navigator DX 7280 компании ЗАО «Дестен Компьютерс», Exсimer GLADIATOR RS8-3-RM компании Exсimer DM, GEG Express X1280S компании Kraftway Computers, Klondike President 1500A компании «Клондайк Компьютерс», K-Systems WORKGROUP 5200 компании ООО «К-Системс», TCM Atlant XP 2240A компании «Техмаркет Компьютерc», Альтаир iNet SM252 компании ЗАО НПКЦ «Формоза-Альтаир», МИР-3Г/2 х 2.8Xeon/BR2/2GB/5 х 36-15K/160.2ch/1Gbit/CD40x компании «Ф-Центр».
Во II туре тестирования приняли участие пять серверов: Desten Navigator DX 7280 (533) компании ЗАО «Дестен Компьютерс», KLONDIKE President 2000A компании «Клондайк Компьютерс», K-SYSTEMS WORKGROUP 5200 компании ООО «К-Системс», TCM Atlant XP 2280 компании «Техмаркет Компьютерc» и МИР-3Г/2х2.8Xeon/BR2/4GB/5х36-15K/320.2ch/1Gbit/CD40x компании «Ф-Центр».
Отметим, что при повторном тестировании производители меняли как аппаратную конфигурацию сервера, так и настройки операционной системы. Поэтому во II туре могли принимать участие те же самые серверы (с одними и теми же названиями), но с другими настройками.
Методика проведения тестирования
отличие от других сетевых устройств, серверы выполняют не какую-либо одну конкретную функцию, а решают множество задач, эффективность выполнения которых определяется сбалансированностью всех подсистем сервера. Поэтому тестирование серверов является довольно сложной задачей.
Рис. 5. Стенд, на котором проводилось тестирование
Для проведения тестирования был собран стенд (рис. 5), на котором была построена смешанная локальная сеть, состоящая из двух сегментов, работающих под управлением стека сетевых протоколов TCP/IP.
Первый сегмент Fast Ethernet 100Base-TX составляли 48 рабочих станций и компьютер-контроллер, а второй сегмент Gigabit Ethernet 1000Base-T был образован каналом связи между сервером и коммутатором. Схема стендовой сети для тестирования серверов представлена на рис. 7. На всех рабочих станциях и компьютере-контроллере была установлена операционная система Microsoft Windows 2000 Professional SP3, а на сервере Microsoft Windows 2000 Server SP3.
Для объединения рабочих станций, контроллера и сервера в сеть использовались два стекируемых коммутатора Allied Telesyn AT-8236GB (рис. 6), предоставленных для проведения тестирования представительством компании Allied Telesyn (http://www.alliedtelesyn.ru/).
Рис. 6. Коммутатор Allied Telesyn AT-8236GB
Каждый коммутатор Allied Telesyn AT-8236GB имеет 24 порта 100Base-TX, два порта 1000Base-T и два отсека для установки GBIC-модулей. К одному из гигабитных портов коммутатора подключался сервер с гигабитным сетевым адаптером, а порты 10/100Base-TX использовались для подключения рабочих станций с адаптерами 10/100Base-TX. Еще один гигабитный порт применялся для подключения контроллера, но в режиме 100Base-T.
Рис. 7. Схема стендовой сети для тестирования серверов
Для проведения тестирования мы использовали пакеты NetBench 7.0.2 и WebBench 4.1 компании Ziff-Davis, а также обновленную версию пакета IOmeter.
Пакет NetBench 7.0.2
Пакет NetBench 7.0.2 применяется для определения общей производительности серверов при использовании их в качестве файловых серверов и не позволяет протестировать отдельные подсистемы сервера. К примеру, с помощью данного пакета невозможно вычислить относительную разницу между производительностью дисковой и сетевой подсистем.
На каждом из компьютеров, подключенных к локальной сети, устанавливается клиентское ПО, позволяющее имитировать работу клиента. Во время теста клиент посылает серверу различные запросы файлового ввода-вывода, измеряет время реакции сервера на эти запросы и рассчитывает создаваемый им сетевой трафик. Компьютер-контроллер синхронизирует работу всех клиентов, собирает у них информацию о ходе теста и рассчитывает суммарный сетевой трафик между сервером и сетью. На самом сервере не устанавливаются и не запускаются никакие программы, что в полной мере соответствует идеологии файл-сервера.
Программа теоретически поддерживает до 1000 клиентов, но для тестирования мы использовали 48. Столь малое количество клиентов объясняется тем, что каждый клиент, работая в стрессовом режиме, эмулирует работу нескольких десятков реальных клиентов.
В ходе каждого отдельного теста активированные клиенты создают на сервере свои рабочие каталоги с данными размером около 20 Мбайт каждый. Именно с этими данными каждый клиент работает, производя копирование и другие файловые операции в направлениях клиент-сервер и сервер-клиент, что позволяет создать эффективный двунаправленный сетевой трафик. Всего в тесте предусматривается 18 различных файловых запросов ввода-вывода: Open File, Read, Write, Lock, Unlock, Get File Attributes, Set File Attributes, Get Disk Free Space, Close, Get File Time, Set File Time, Find Open, Find Next, Find Close, Rename File, Delete File, Create New File, Flush File Buffers.
По мере проведения теста постепенно увеличивается число клиентов, проявляющих сетевую активность, что позволяет определять зависимость сетевого трафика, измеряемого в мегабитах в секунду, от числа клиентов.
Отметим, что при тестировании для создания рабочих каталогов использовался логический диск RAID-массива, а не диск с установленной операционной системой.
Пакет WebBench 4.1
Пакет WebBench 4.1 служит для определения производительности серверов при использовании их в качестве Web-серверов.
На каждом из компьютеров, подключенных к локальной сети, устанавливается клиентское ПО, позволяющее имитировать работу Web-браузера. Один компьютер используется в качестве контроллера, управляющего работой всей системы и собирающего статистику. На самом сервере создается общее для всех клиентов рабочее пространство (объемом около 61 Мбайт), состоящее из дерева папок, в которые помещаются 6160 файлов типа *.html, *.gif и тестовых исполняемых файлов, в папку CGI-BIN помещаются динамические исполняемые файлы.
Web-сервер получает от клиентов запросы, обрабатывает их и отправляет ответы. В зависимости от вида запроса это либо отправка файла из рабочего пространства, либо данные, полученные сервером в результате выполнения динамических исполняемых файлов. Измеряя время реакции сервера на выполнение запросов, каждый клиент рассчитывает создаваемый им сетевой трафик, регистрирует количество выполненных запросов и передает полученные данные компьютеру-контроллеру, который синхронизирует работу всех клиентов и рассчитывает суммарный результат.
По мере проведения теста постепенно увеличивается число клиентов, проявляющих сетевую активность, что позволяет определять зависимость сетевого трафика, измеряемого в мегабитах в секунду, и количества запросов, обрабатываемых сервером в секунду, от числа клиентов.
В пакете WebBench 4.1 предусмотрено несколько стандартных тестов, рассчитанных на использование 60 клиентов:
static_mt_wb41.tst
static_wb41.tst
verify_wb41.tst
verify_ssl_wb41.tst
nt_ecommerce_cgi_wb41.tst
nt_ecommerce_isapi_wb41.tst
nt_ecommerce_nsapi_wb41.tst
nt_simple_cgi_wb41.tst
nt_simple_isapi_wb41.tst
nt_simple_nsapi_wb41.tst
Тесты verify_ssl_wb41.tst, nt_ecommerce_cgi_wb41.tst, nt_ecommerce_isapi_wb41.tst и nt_ecommerce_nsapi_wb41.tst предусматривают возможность работы Web-сервера в SSL-режиме. С учетом того что для установки такого режима требуется получение сертификата безопасности и подавляющее большинство открытых Web-серверов работает без SSL-режима, в проводимых тестах этот режим не использовался.
Тест verify_wb41.tst является проверочным тестом. Тесты static_mt_wb41.tst и static_wb41.tst отличаются друг от друга только интенсивностью нагрузки на сервер (тест static_mt_wb41.tst нагружает сервер в более стрессовом режиме).
Тесты nt_simple_cgi_wb41.tst, nt_simple_isapi_wb41.tst, nt_simple_nsapi_wb41.tst предусматривают возможность выполнения различных динамических модулей, расположенных в директории CGI-BIN сервера. Модули реализуют различные интерфейсы запросов: CGI — Common Gateway Interface; ISAPI — Internet Server API; NSAPI — Netscape Server API.
В тестировании мы использовали стандартные тесты static_mt_wb41.tst, nt_simple_cgi_wb41.tst, nt_simple_isapi_wb41.tst, nt_simple_nsapi_wb41.tst, но в откорректированном виде корректируя только количество клиентов.
Важно отметить, что корневая директория Web-сервера размещалась в RAID-массиве.
Пакет IOmeter
IOmeter — это синтетический тест, разработанный компанией Intel, который широко используется для тестирования как дисковой, так и сетевой подсистем в качестве генератора сетевого трафика. К сожалению, в настоящее время компания Intel не поддерживает данный программный продукт, и последняя доступная в Интернете версия — это IOmeter 1999.10.20, не работающая с современными серверами и рабочими станциями. Так называемая проблема 2 ГГц заключается в том, что при использовании данного программного пакета с процессорами, тактовая частота которых выше 2 ГГц (если точнее, то предельная частота, после которой программа не работает, составляет 1,59 ГГц), программа выдает результаты в отрицательном виде. Поэтому нам пришлось самостоятельно исправить ошибки в данной программе, то есть обновить версию. (О том, как это сделать самостоятельно, можно прочитать в статье «IOmeter проблема 2 ГГц» на CD-диске прилагающемуся к февральскому номеру журнала КомпьютерПресс.)
Обновленную версию пакета IOmeter мы использовали для измерения производительности как дисковой, так и сетевой подсистем.
Сетевая подсистема
Измерение производительности сетевой подсистемы сервера заключалось в определении абсолютной пропускной способности сетевого адаптера сервера в режимах передачи, приема и дуплексном режиме передачи данных.
В режимах приема и передачи данных на всех клиентах запускались программные генераторы (Dynamo), которые генерировали запросы на передачу или прием данных на сервер или с сервера. При этом на самом сервере никаких специальных приложений не запускалось, что в полной мере соответствует идеологии сервера. Действительно, в реальных сетях запросы на передачу данных на сервер или с сервера инициализируются самими клиентами сети. Сервер же только обслуживает эти запросы, но не инициализирует их.
Для создания стрессовой нагрузки на сетевую подсистему сервера, то есть для достижения максимально возможного сетевого трафика, все запросы носили стопроцентно последовательный характер, а время задержки между запросами устанавливалось равным нулю. Единственным изменяемым в данном случае параметром был сам размер запроса на передачу-прием данных, который составлял 64, 128, 256, 512 байт, 1 Кбайт, 2, 4, 8, 16, 32, 64, 128 и 256 Кбайт.
При эмуляции дуплексного режима работы на каждом из клиентов создавалось по два программных генератора, один из которых генерировал передачу данных, а второй — запросы на прием данных с сервера.
Измеряемыми параметрами во всех случаях являлись сетевой трафик, проходящий через тестируемый гигабитный адаптер, и утилизация процессорной подсистемы сервера.
Дисковая подсистема
При измерении производительности дисковой подсистемы сервера с помощью пакета IOmeter эмулировались различные режимы доступа к дисковому массиву. Утилита размещалась на диске, на котором установлена операционная система, а тестированию подвергался дисковый RAID-массив. При этом в соответствии с рекомендациями по тестированию дисковых подсистем использовался неформатированный RAID-массив.
В ходе тестирования определялась скорость полностью выборочного и полностью последовательного чтения и записи при различных размерах запроса. Размеры запроса менялись и составляли 512 байт, 1 Кбайт, 2, 4, 8, 16, 32, 64, 128 и 256 Кбайт. Все тесты проводились при размере очереди запросов (I/O Outstanding) равной 256.
Кроме эмуляции режимов последовательного и выборочного чтения и записи, проводилась также эмуляция режимов работы дисковой подсистемы, характерных для файлового сервера (FileServer), сервера баз данных (DataBase) и Web-сервера (WebServer).
Модель доступа FileServer создает нагрузку на дисковую подсистему, типичную для файл-сервера. В этой модели рассматриваются различные по размеру запросы на чтение и запись. Размер запроса варьируется от 512 байт до 64 Кбайт, а доля тех или иных запросов в общей модели доступа задается весовым коэффициентом участия данного запроса. Если, к примеру, имеется всего восемь различных по величине запросов и запросу размером 4 Кбайт присваивается весовой коэффициент участия 60%, то это означает, что из 100 запросов 60 будут иметь размер 4 Кбайт. В модели доступа FileServer 80% всех операций ввода-вывода приходится на чтение, причем операции ввода-вывода носят характер стопроцентной случайной выборки, что вполне типично для файл-серверов. Характеристики модели доступа FileServer приведены в табл. 1.
Модель доступа WebServer определяет типичную нагрузку на дисковую подсистему сервера при его эксплуатации в режиме Web-сервера. Для данной модели также характерны различные по размеру запросы, но при 100% операций выборочного чтения. Характеристики модели доступа WebServer приведены в табл. 2.
Модель доступа DataBase характеризуется только одним размером запроса в 8 Кбайт. При этом предполагается 100% выборочных операций чтения (записи), а доля операций чтения составляет 67%.
Во всех тестах дисковой подсистемы измеряемым параметром являлась скорость выполнения операций (в Мбайт/с).
Методика сравнения
ассмотренный набор тестов позволял достаточно скрупулезно исследовать все сильные и слабые стороны каждого сервера. Кроме того, для выяснения потенциальных возможностей сервера и определения влияния объема установленной оперативной памяти на производительность каждый сервер тестировался с максимальным объемом установленной в нем памяти и с минимальным объемом памяти в 1 Гбайт. Учитывая, что процессоры Intel Xeon поддерживают технологию Hyper-Threading, мы проводили все тесты как при активации технологии Hyper-Threading через настройки BIOS, так и при ее запрещении. В первом случае операционная система определяла в сервере четыре логических процессора, а во втором два логических процессора. Таким образом, дополнительно исследовалось влияние технологии Hyper-Threading на производительность серверов.
Для сравнения серверов друг с другом (ведь именно в этом заключалась конечная цель нашего тестирования) мы использовали результаты тестов NetBench 7.0.2 и WebBench 4.1, то есть результаты тестов реальных приложений. Синтетические тесты дисковой и сетевой подсистем, проводимые с помощью утилиты IOmeter, использовались как вспомогательные, позволяющие понять, в чем причина отставания или, наоборот, лидирования того или иного сервера.
Для корректности оценки зачетные сравнения, используемые при подведении итогов тестирования, осуществлялись в конфигурации с двумя процессорами и с объемом оперативной памяти 1 Гбайт. Объем используемой оперативной памяти устанавливался в загрузочном файле boot.ini (параметр maxmem=1024).
В I туре тестирование проводилось как с активированной функцией Hyper-Threading, так и без нее, а в зачет шел наилучший результат.
Во II туре тестирования, учитывая накопленный опыт, тесты NetBench 7.0.2, WebBench 4.1 nt_simple_cgi и nt_simple_isapi запускались с включенной поддержкой Hyper-Threading, а тесты WebBench 4.1 nt_simple_nsapi и static_mt — с отключенной поддержкой Hyper-Threading. При этом по итогам тестирования серверов в I и II турах в зачет шел лучший результат.
Тестовые пакеты NetBench 7.0.2 и WebBench 4.1 представляют конечный результат в виде графиков зависимостей, что очень удобно для исследования поведения сервера при изменении нагрузки, но неприемлемо для сравнения серверов друг с другом. Для сравнения серверов по результатам тестов необходимо, чтобы эти результаты были представлены в числовом виде. Поэтому каждому графику следует поставить в соответствие некоторое число, то есть закодировать графики в числовом виде. Самым простым способом является вычисление площади криволинейной трапеции, образуемой графиком зависимости и осью абсцисс, по которой откладывается количество клиентов. Получаемое таким образом интегральное значение представляет собой общий сетевой трафик в тесте NetBench 7.0.2 или общее количество транзакций в тесте WebBench 4.1. Отметим, что сами по себе полученные значения хотя и имеют единицы измерения, лишены физического смысла, однако могут быть использованы для сравнения каждой из рассматриваемых характеристик, поскольку чем больше полученное значение, тем выше производительность сервера в режиме насыщения.
Результаты тестирования
режде чем переходить к описанию результатов тестирования каждого сервера в отдельности, ознакомимся с результатами сравнительного тестирования серверов. Технические характеристики серверов представлены в табл. 3 (I тур тестирования) и 4 (II тур тестирования).