Как и на основании каких критериев принимается решение о закупке компьютерной техники, например серверов? Большинство продавцов многое бы отдали за то, чтобы узнать ответ... Беглый опрос нескольких системных администраторов, лиц, принимающих решение о покупке, и специалистов компаний — производителей оборудования показал, что, как правило, и те и другие основываются чаще всего на опыте, как личном, так и равномерно распределенном по Всемирной паутине в виде утверждений вроде «самое главное в сервере — это хороший диск». Насколько имеет смысл доверять подобным утверждениям? В отличие от ПК, который, несмотря на хорошо заметное разделение по сегментам, вы все еще можете купить «на все случаи жизни», при выборе универсального сервера начального уровня придется сразу более или менее конкретно обозначить задачи, которые будут решаться с его помощью. Приступая к тестированию универсальных серверов, мы обозначили условия нашего «виртуального офиса» так: около 40 рабочих станций с возможным увеличением, основные функции — файл-сервер, веб-сервер и сервер баз данных. Максимально возможная сумма на покупку — не более 3000 у.е. с учетом стоимости ОС Windows 2003 Server. Таким образом, мы постарались смоделировать более или менее типичную ИТ-среду для небольшой компании с единственным выделенным сервером, который нам и предстоит выбрать.

Из чего выбираем?

Среди рассмотренных нами производителей оказались как ветераны компьютерного рынка, так и молодые, но, возможно, перспективные компании. Всего нам было предложено пять различных серверов, однако в итоговом сравнении участвовало только четыре образца. По стечению обстоятельств сервер СМ 1120 компании «Велес-Дата» оказался первым образцом, испытанным на нашем тестовом стенде и имевшим все шансы продемонстрировать свои возможности по производительности. Однако уже после того, как сервер был возвращен законным владельцам, нам пришлось внести серьезные изменения в настройки тестового пакета. В конечном итоге мы сравнивали между собой модели ATIS Premier 2311, Neotorg Neo, StartMaster Ratio-С DX25 и Desten Navigator 7320L.

ATIS Premier 2311

Сервер ATIS Premier производства компании КИТ собран на основе системной платы Intel SE7520BD (набор микросхем E7520) и двух процессоров Intel Xeon 3,0 ГГц. Дисковая подсистема включает в себя два диска Seagate Cheetah 10K.6 ST336607LW емкостью 36 Гбайт, объединенных в массив RAID 1 c помощью встроенного в системную плату контроллера LSI Logic 53C1030. Сетевая подсистема состоит из двух интегрированных гигабитовых адаптеров — Intel 82541PI и Marvell Yukon EC 88E8050, использующего шину PCI Express 1x (при проведении измерений применялся более производительный адаптер Intel 82541PI).

Neotorg Neo

Сервер Neotorg Neo

Образец компании Neotorg также построен на основе системной платы Intel SE7520BD, но использует несколько более быстрые процессоры — Xeon 3,4 ГГц. На плате установлено 2-Гбайт ОЗУ. Дисковая подсистема состоит из SATA-накопителя DiamondMax Plus 9 емкостью 120 Гбайт и двух SCSI-дисков Seagate Cheetah 10K.7 ST373207LW емкостью 73,4 Гбайт, объединенных в массив RAID 1 c помощью интегрированного контроллера LSI Logic 53C1030. Для подключения сервера к сети также использовался адаптер Intel 82541PI.

StartMaster Ratio-С DX25

Сервер StartMaster Ratio-C DX25 собран на системной плате Intel SE7320SP2 (набор микросхем Intel E7320) и двух процессорах Xeon 3,2 ГГц. Два SATA-накопителя Seagate Barracuda 7200.7 объединены в массив RAID 1 c помощью интегрированного контроллера. На системной плате установлено 2 Гбайта оперативной памяти DDR 333.

Desten Navigator 7320L

Сервер Desten Navigator

В сервере Navigator 7320L используется системная плата ASUS NCCH-DL (набор микросхем Intel 82875P) c интегрированным сетевым адаптером Intel PRO/1000 и SATA-контроллерами Promise PDC20319 и Intel 6300ESB. Дисковая подсистема состоит из четырех SATA-дисков Seagate Barracuda 7200.7, объединенных в массив RAID 0+1 и размещенных в HotSwap корзине на пять дисков. На системной плате был установлен 1 Гбайт оперативной памяти.

Для того чтобы максимально приблизить тестовую среду к реальным условиям, мы решили воспользоваться одним из популярных средств для генерации пользовательской нагрузки — пакетом Benchmark Factory компании Quest Software. В данном наборе инструментов реализованы практически все наиболее известные методики для измерения производительности серверов, а кроме того, он позволяет с помощью одного ПК моделировать работу большого числа пользователей (по данным Quest Software, в некоторых режимах работы один компьютер позволяет моделировать работу до 1500 пользователей. В то же время в общем случае возможность замены реальной нагрузки подобной моделью — вопрос достаточно сложный, требующий каждый раз отдельного изучения). В нашем случае для генерации нагрузки от 1 до 300 пользователей применялось десять компьютеров на базе процессоров Pentium 4.

Файл-сервер

Рис 1. Основные показатели производительности Performance Monitor во время проведения теста FileBench

Для измерения производительности серверов в режиме файл-сервера мы использовали тест I/O Mix пакета Benchmark Factory, составленный на основе статистического анализа работы реальных пользователей. Во время этого теста каждый из виртуальных пользователей генерирует запросы тестовой системе пяти различных видов: Create or Delete Directory (пользователь создает подкаталог в своем каталоге, а если он уже существует, то удаляет его), Create or Delete File (пользователь создает или удаляет файл), Sequential Read (последовательное чтение блока заданного размера из файла определенного объема), Random Read (чтение блока данных случайного размера из файла определенного размера), Sequentional Write (последовательная запись блока заданного размера) и Random Write (запись блока данных случайного размера). Измеряя с помощью Benchmark Factory скорость обработки запросов, параллельно мы следили за загруженностью подсистем сервера, используя стандартное средство Performance Monitor. Как и следовало предполагать, при большой нагрузке на сервер основными факторами, ограничивающими производительность, становятся скорость работы дисковой подсистемы и в меньшей степени возможность образования небольшой очереди на сетевом интерфейсе (см. Рис. 1).

График 1. Скорость обработки запросов (TPS) в зависимости от количества активных пользователей

На графике 1 сразу бросается в глаза практически одинаковая производительность всех систем в диапазоне до 40 пользователей, т.е. напрашивается вывод о том, что на этом участке общая производительность сети зависит только от производительности клиентских ПК, а у любого из тестируемых серверов есть хороший запас мощности. Абсолютный максимум производительности достигнут моделями ATIS Premier и Neotorg Neo, что было вполне предсказуемо. Несколько меньшая производительность сервера компании StartMaster также легко объяснима применением менее производительных дисков SATA.

Также можно заметить, что больший объем памяти (2 Гбайт), установленной в серверах компаний Neotorg и StartMaster, практически не дает преимуществ для работы файл-сервера.

Веб-сервер

Производительность веб-серверов оценивалась с помощью теста WebStonе, также реализованного в пакете Benchmark Factory. Измерения проводились для трех режимов работы: CGI, HTML и API. Анализируя результаты (графики 2—4), можно говорить о почти одинаковых показателях для всех четырех серверов. Данные, полученные с использованием Performance Monitor, показывают, что практически единственным узким местом для этого набора тестов становится производительность сетевой подсистемы, и это при том, что, скажем, использование процессорных ресурсов обычно не превышало 30—40%, даже несмотря на несколько завышенную загрузку процессоров в тестах WebStone.

График 2. Производительность веб-сервера при загрузке HTML-документов

Сервер баз данных

В качестве нагрузки на БД мы использовали базу, созданную по спецификации TPC-D (см. «О методиках оценки производительности»). Результаты приведены в таблице на с. 108. Учитывая довольно схожие параметры процессоров, в этом тесте также следовало бы ожидать близких по значению показателей. Однако отличия все же есть. Здесь, судя по показателям Performance Monitor, с увеличением объема базы данных производительность зависит в первую очередь от скорости работы дисковой подсистемы и объема оперативной памяти. Неудивительно, что сервер Neotorg показал несколько лучшие результаты.

График 3. Производительность веб-сервера при генерации запросов к CGI-приложению

Подводим итоги

Возвращаясь к первоначально поставленной задаче обеспечения сервисов для 40 ПК, можно сделать вывод о том, что любой из представленных серверов успешно справился бы с ней практически с одинаковыми результатами. То есть каждая из протестированных систем обладает достаточным запасом по производительности. В то же время в случае, если основные функции сервера заранее определены, полученные результаты могут быть полезны при построении наиболее сбалансированной системы. Так, например, хорошо видно, что при конфигурировании файл-серверов вполне можно несколько сэкономить на процессорах и оперативной памяти и уделить большее внимание производительности дисковой подсистемы, относительно дешевым и производительным вариантом которой может стать массив RAID из четырех дисков SATA. Это успешно продемонстрировал сервер Desten Navigator 7000L, его мы и награждаем титулом «Выбор редакции» за наиболее интересное и сбалансированное решение.

График 4. Производительность веб-сервера при генерации запросов к API-приложению
Литература
  1. Dr. Rick Cattel1. The Benchmark Handbook. 2nd ed., Morgan Kaufmann Publishers, Inc, www.bencmarkresource.com
  2. TPC Benchmark C Standard Specification. Revision 5.3. Transaction Processing Council, www.tpc.org
  3. Волков А. Тест WebSTone оценки конфигураций Web //Открытые системы. 1996. № 1.
  4. Волков А. Про тесты измерения производительности// Computerworld Россия. 1996. № 5.
  5. WebStone 2.x Benchmark Description. Mindcraft, www.mindcraft.com/ webstone/ws 201-descr.html.
  6. Рогов С., Намиот Д. Тестирование производительности Web-серверов //Открытые системы. 2002. № 12.
  7. Волков А. Тесты TPC // Системы управления базами данных. 1995. № 2.
  8. Черняк Л. Снова о тестах ТPC // Открытые cистемы. 2000. № 11.
  9. http://www.spec.org/web99/
  10. Волков Д. Союз SPEC и Web // Computerworld Россия.1996. №34.
  11. http://www.spec.org/web96/
  12. http://www.tpc.org/ information/benchmarks.asp

Автор выражает благодарность Евгению Симу и Дмитрию Качурину (I-Soft) за помощь в проведении тестирования.

Образцы для тестирования предоставлены компаниями Desten Computers (www.desten.ru), КИТ (www.kitcom.ru), «СтартМастер»(www.startmaster.ru), «Велес-Дата» (www.veles.ru), «Неоторг» ( www.neotorg.ru).

Редакция благодарит компанию I-Soft (www.i-soft.ru), MGE Россия (www.mgeups.ru), ZyXEL(www.zyxel.ru), D-Link (www.dlink.ru) за предоставленное ПО и оборудование.


Как мы тестировали

Для проведения тестирования был собран стенд из десяти рабочих станций, объединенных в локальную сеть с помощью коммутатора D-Link DES 1024DG и тестируемых серверов, объединенных в сеть с помощью гигабитового коммутатора ZyXEL ES-1024. Бесперебойное питание тестируемых серверов обеспечивалось с помощью ИБП MGE Pulsar Extreme C 3200BA. Для измерений использовался программный пакет Benchmark Factory компании Quest Software. На рабочих станциях была установлена ОС Windows XP Professional SP2 , на тестируемых серверах — ОС Windows 2003 Standard Edition. В качестве сервера веб-приложений применялся Microsoft Internet Information Server 6.0, в качестве сервера БД — Microsoft SQL Server 2000 SP3.


О методиках оценки производительности

Основными требованиями к методике измерения производительности принято считать уместность, переносимость, масштабируемость и простоту понимания [4]. Уже разработано довольно много как общих, так и узкоспециализированных стандартов для определения производительности серверного оборудования, причем наибольшее распространение получили средства для веб-серверов и систем обработки транзакций.

Веб-сервисы. Впервые средство для измерения производительности веб-серверов разработали специалисты компании Silicon Graphics. Им стал пакет WebStone [5,3], представленный в мае 1995 г. Впоследствии права на него были переданы компании MindCraft, которая доработала и дополнила его новыми функциями. Распределенный тест состоит из приложений WebClient, эмулирующих работу клиентов и программы-контроллера WebMaster, запускающей приложение WebClient и собирающей статистику. Тестовый набор файлов моделирует структуру веб-сайта Siliсоn Graphics на момент разработки WebStone. Реализовано три различных режима доступа к тестируемому веб-серверу:

HTTP — на сервер от каждого из инициализированных приложений WebClient поступает запрос GET на один из файлов, входящих в тестовый набор;

CGI — на сервер пересылаются запросы на определенный объем данных, который генерируется СGI-приложением, установленным на сервере (случайный набор чисел);

API — на сервер пересылаются запросы на файлы заданного объема, которые создаются API-приложением, установленным на сервере с помощью датчика случайных чисел. Следует заметить, что последние два режима отличаются значительной загрузкой процессора, в отдельных случаях, возможно, даже несколько большей, чем при функционировании реальных веб-приложений. В результате тестирования определяется, какое количество запросов к веб-серверу обрабатывается за единицу времени. Несколько позже организация SPEC, одна из наиболее авторитетных среди занимающихся разработкой тестовых методик, создала решение SPECweb96 [11, 12] также ставшее одним из отраслевых стандартов (сейчас оно заменено пакетом WEB99). Довольно широкое распространение получил и тест WebBench, предложенный компанией VeriTest.