Тестирование RAID-контроллера 3Ware 9650SE

Автор: SV
Дата: 13.03.2008
Все фото статьи

Введение


Итак, после долгой и продолжительной бол... паузы мы возвращаемся к теме тестирования RAID-контроллеров. «Возобновление» цикла тестов мы решили начать с контроллера 3Ware 9650SE-16ML – в знак уважения к компании, которая за последнее время претерпела много интересных «преобразований». Чего стоит только поглощение компании 3Ware компанией AMCC… Менялась компания, менялись и её продукты – они то приобретали внешний модуль кэш-памяти, то теряли его

Идя в ногу со временем, продукты компании 3Ware обзавелись поддержкой интерфейса SATA2, перешли на шину PCI-Express и, конечно, научились работать с модным нынче типом RAID-массивов - RAID 6. В результате всех этих пертурбаций на свет появилась линейка контроллеров 3Ware 9650SE, с представителем которой мы Вас сегодня и хотим познакомить.

3Ware 9650SE-16ML


В наши руки попала не самая старшая модель в линейке, оснащенная шестнадцатью портами для подключения дисков (четыре multi-lane разъема, каждый из которых поддерживает до четырех устройств) и 256 МБ памяти DDR2, работающей на частоте 533 МГц. Выше неё только модель 9650SE-24MB, в которой количество портов доведено до двадцати четырех, а объем установленной памяти составляет 512 МБ. Если же вам необходима низкопрофильная версия контроллера, то такие тоже есть в этой серии, но поддерживают они не более восьми портов. Все контролеры выполнены на интерфейсе PCI-Express, но самая младшая модель с двумя портами довольствуется PCI-E x1, модели с четырьмя и восемью портами поддерживают PCI-E x4, а самые старшие хотят уже PCI-E x8. Конечно же, старшие модели поддерживают режимы совместимости с шинами меньшей ширины. Все версии, кроме самой младшей 9650SE-2LP, поддерживают установку BBU – батарею питания буферной памяти.




В коробке помимо самого контроллера обнаруживается вполне стандартный комплект поставки: инструкция, диск с драйверами и четыре интерфейсных кабеля.

В качестве процессора в контроллере используется AMCC Power PC 405CR. К сожалению, компания 3 Ware нигде не указывает частоту, на которой он функционирует, но если судить по маркировке, то она составляет 266 МГц. За работу с дисками отвечают два часто встречающихся на контроллерах восьмиканальных SATAII-чипа Marvell 88SX6081-BCZ1. Отметим это любопытное изменение – ранее за работу с дисками отвечали «фирменные» чипы 3Ware.

Список операционных систем, в которых может работать контроллер, весьма широк – его краткая версия включает в себя 32- и 64-битные реализации Microsoft Windows 2003/XP/2000, Red Hat Linux, SuSE Linux, Fedora Linux, ядра Linux 2.4 и 2.6, FreeBSD. Полный же список вы можете посмотреть на сайте производителя, оттуда же, при желании, можно загрузить самые свежие драйвера и firmware.

Контроллер 3 Ware 9650SE-16ML поддерживает следующие типы RAID-массивов: 0, 1, 5, 6, 10, 50, а также функционирование в режимах Single Disk (когда контроллер «отдаёт наружу» подключённые к нему диски в виде независимых дисков) и JBOD. Есть одна тонкость с типом массивов RAID6 – контроллер не даёт использовать этот тип массива на наборе менее чем из пяти дисков. Ни через BIOS ни через утилиту 3DM создать массив RAID6 на четырёх дисках нельзя! Поначалу мы были на грани помешательства… Ведь, согласно теориии, именно четырёх дисков минимально достаточно для создания массива RAID6 (в отличие от RAID5 этому типу массива требуется для хранения дополнительной контрольной суммы на один диск больше). Однако же никакие камлания с бубном и изучения документации не помогали – контроллер отказывался делать RAID6 из четырёх дисков. В качестве жеста отчаяния мы обратились в тех. поддержку и там, наконец, получили крайне необходимую нам психологическую помощь.

Как оказалось, запрет на создание подобной конфигурации имеет отнюдь не технические корни – во всём, как, к сожалению, очень часто в последнее время, виноваты маркетологи… Они сочли, что, так как быстродействие массива RAID6 из четырёх дисков ниже, чем у RAID10 из такого же количества дисков, то нечего и давать пользователям делать RAID6…

Но, позвольте, ведь массив RAID10, по сравнению с RAID6 имеет худшую надёжность – RAID6 выдерживает отказ двух любых дисков, в то время как для RAID10 есть оговорка – хранимые на массиве данные сохранятся, только если два отказавших диска будут в разных зеркальных парах (на всякий случай напомним, что RAID10 – это страйп зеркальных пар).

Такая логика маркетологов очень напоминает нам историю про якобы имевшую место реплику Марии Антуанетты «"У парижан нет хлеба? Пусть едят пирожные!». Для тех, кто плохо помнит историю, она плохо кончила… ;)

Что касается различных технологий, поддерживаемых и используемых данным контроллером, то тут стоит упомянуть, конечно же, SATAII, восьмое поколение неблокируемой коммутируемой архитектуры "StorSwitch", поддержку 64-битной LBА адресации и технологию оптимизации многопоточных запросов "StreamFusion".

В завершение нашего ознакомительного "внешнего" знакомства с контроллером хочется сказать несколько слов о поставляемой в комплекте с ним программе 3DM 2, предназначенной для управления жесткими дисками и массивами в операционной системе Windows.




Конечно же, утилита предоставляет полный набор данных о самом контроллере, о подключенных к нему накопителях и "корзинах", информацию о состоянии батареи, системные предупреждения и историю служебных сообщений контроллера. Но основное ее предназначение – управление массивами и настройками функционирования самого контроллера в соответствующих разделах закладки "Management".




Не будем утруждать вас подробным перечислением всех возможных настроек – они достаточно хорошо отображены на представленных выше снимках экрана, скажем лишь, что все управление массивами и контроллером, а также контроль за состоянием во время тестирования осуществлялись исключительно при помощи этой программы. Она достаточно удобна в использовании, и, хотя и не блещет особой красотой, отличается продуманным расположением всех опций. Осваиваешься с ней быстро – заглядывать в инструкцию практически не приходится, все доступные функции имеют вполне понятные сколько-нибудь знакомому с RAID-массивами пользователю подписи.

Методика тестирования


Во время тестирования использовались следующие программы:

IOMeter версии 2003.02.15;
WinBench версии 99 2.0;
FC-Test версии 1.0.

Тестовая система была следующей:

корпус Intel SC5200;
системная плата Intel SE7520BD2;
два процессора Intel Xeon 2,8 ГГц на 800-МГц системной шине;
2 х 512 МБ регистровой памяти DDR PC3200 ЕСС
жесткий диск IBM DTLA-307015 объемом 15 ГБ в качестве системного диска;
видеокарта – встроенное видео ATI Rage XL
операционная система Microsoft Windows 2000 Professional SP4

В контроллер было прошито firmware FE9X 3.08.02.005 и использовались драйвера из набора 3.00.02.140. Для контроля состояния массивов и для синхронизации массивов использовалась программа 3DM 2.

Контроллер устанавливался в слот PCI-Express x8. Любопытно, что при этом по показаниям 3DM 2 контроллер функционировал в режиме совместимости с PCI-E x4. Впрочем, 10 Гбит/с, обеспечиваемых этим режимом, ему явно было вполне достаточно, чтобы обеспечить необходимую пропускную способность интерфейса нашим массивам максимум из четырех дисков.

В силу того, что наш «боевой» комплект дисков для тестов RAID-контроллеров состоит всего из четырёх дисков, а контроллер 3Ware 9650SE-16ML не позволяет сделать RAID6 из четырёх дисках, то тесты в RAID6 не проводились. Массив с воза – тестеру легче. ;)


Для тестирования использовались жесткие диски Western Digital WD740GD (Raptor2), установленные в штатные салазки корпуса SC5200 и закрепленные в них четырьмя винтами за нижнюю грань.

В процессе тестирования контроллер устанавливался в режим максимальной производительности "Perfomance" – в этом режиме отложенная запись и упреждающее чтение разрешены как для контроллера (в его собственную буферную память) так и для самих дисков. Данный режим настоятельно рекомендуется не использовать без батареи питания кэша, поскольку очень велик риск при сбое питания потерять данные.

IOMeter: Database


Начнем с, пожалуй, наиболее интересного с точки зрения нагрузки на контроллер, теста – "Database". С помощью данного теста мы выясняем способность контроллера работать с потоками запросов на чтение и запись 8-кБ блоков данных со случайной адресацией. В ходе тестирования происходит последовательное изменение процентного соотношения запросов на запись от нуля до ста процентов (с шагом 10%) от общего количества запросов и увеличение глубины очереди команд от 1 до 256.


Рассмотрим графики зависимостей количества операций в секунду от удельного веса запросов на запись по отдельности для очередей равных 1, 16 и 256.


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

Интересно проследить поведение "зеркальных" массивов RAID1 и RAID10: первый стабильно демонстрирует большую, по сравнению с одиночным диском, производительность на всех участках, кроме случая, когда поступают только запросы на запись. Схожую ситуацию мы наблюдаем и при сравнении RAID10 и RAID0 на двух дисках, но в данном случае превосходство первого массива омрачает неожиданный резкий провал его производительности при 60 % запросов на запись.

Массивы RAID5 ожидаемо плохо справляются с записью данных из-за больших "накладных расходов" на операциях вычисления контрольной суммы. Обратите внимание, что производительность массивов очень слабо зависит от количества дисков в нем. Технология работы RAID5 такова, что каждая операция на запись порождает две операции на чтение данных, две операции XOR и две операции записи. Причём все дисковые операции выполняются на двух конкретных дисках, вне зависимости от того, сколько всего дисков в массиве. И, если при работе с последовательно расположенными данными, контроллер еще как-то может снизить нагрузку на диски набирая полный страйп (подробнее - здесь), то при запросах со случайными адресами, контроллер вынужден действовать строго по методике 2R-2X-2W…


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

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

Что же касается массивов RAID5, то на "чистом" чтении данных с произвольной адресацией они практически равны массивам RAID0 из такого же числа дисков, но вот с появлением запросов на запись очень резко теряют в скорости и, в итоге, при количестве запросов на запись больше 70 %, проигрывают всем другим массивам и одиночному диску. Любопытно, что в случае, когда поступают только запросы на запись, массив из трех дисков оказывается несколько быстрее своего собрата на четырех дисках.


Дальнейшее увеличение глубины очереди команд приводит лишь к незначительным изменениям сил, а в общей картине можно лишь отметить значительное дальнейшее увеличение скорости обработки запросов на чтение на всех типах массивов. Из нюансов можно отметить лишь то, что RAID0 и RAID5 из четырех дисков догнали RAID10 по скорости в ситуации, когда поступают только запросы на чтение.

Для желающих приводим диаграммы, на которых изображены графики пяти различных глубин очереди для каждого типа массива:

Диаграмма database, 1HDD
Диаграмма database, RAID0, 2HDD
Диаграмма database, RAID0, 3HDD
Диаграмма database, RAID0, 4HDD
Диаграмма database, RAID1, 2HDD
Диаграмма database, RAID10, 4HDD
Диаграмма database, RAID5, 3HDD
Диаграмма database, RAID5, 4HDD

IOMeter: Random Read & Write


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


На чтении блоков малого размера все массивы демонстрируют очень близкие результаты, вперед вырываются лишь одиночный жесткий диск и RAID1 на двух дисках. С увеличением размера блока начинают появляться и заметные отличия в производительности между различными типами массивов. Общая картина такова, что массивы на большем количестве дисков справляются несколько быстрее, при равном количестве дисков самым быстрым оказывается RAID0, чуть хуже RAID5 и уже за ним массивы с зеркалированием. Правда, из этой схемы неожиданно вырывается RAID10, продемонстрировавший на блоках 2 МБ заметный скачок производительности.


С записью ситуация еще проще, поскольку соотношение сил между массивами сохраняется на всех размерах блоков, меняются лишь абсолютные значения производительности. Как и следовало ожидать, худшие значения на записи продемонстрировали массивы RAID5. Чуть большие скорости выдал RAID1, но все равно его показатели несколько ниже, чем у одиночного диска. Дальше по нарастающей идет RAID10, над которым разместились массивы RAID0 в порядке увеличения количества дисков в массивах.

IOMeter: Disk Response Time


Для измерения времени отклика мы в течении десяти минут при помощи IOMeter отправляем на контроллер поток запросов на чтение или запись блоков данных по 512 байт, при глубине очереди исходящих запросов, равной единице. Результаты отсортированы по времени отклика при записи.


В то время как время отклика при чтении можно считать одинаковым для всех типов массивов, на записи наблюдается вполне логичная закономерность. Максимальным временем отклика при записи "отличились" массивы RAID5, причем оно практически не зависит от количества дисков в массиве. Впрочем, этого и следовало ожидать, в силу сложного алгоритма едь в данном случае большую его часть занимают операции с контрольной суммой, производимые XOR-процессором примерно равное время для любого количества дисков. Дальнейшая расстановка сил полностью повторяет виденную нами в тесте "Random Write" – RAID1 чуть отстает от одиночного диска, от которого ощутимо отрывается RAID10, выше которого расположились массивы RAID0.

IOMeter: Sequential Read & Write


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


На чтении перед нами предстает практически идеальная картина (ох, как хочется писать такое почаще, но как редко получается) максимальных скоростей: массивы RAID5 на N дисках демонстрируют такую же скорость, как и RAID0 из N-1 дисков, а зеркальные массивы из 2N дисков полностью совпадают по скорости с RAID0 из N дисков (соответственно RAID1 на двух дисках совпадает с одиночным диском). У зеркальных дисков мы можем видеть весьма характерный нюанс: на блоках очень больших размеров их скорость начинает еще несколько увеличиваться – контроллер начинает читать данные одновременно с двух дисков в каждой "зеркальной" паре.

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


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

IOMeter: Multi-thread Read & Write


А теперь оценим поведение массивов при многопоточной нагрузке. В ходе данного теста эмулируется ситуация, когда с виртуальным диском, созданным контроллером, работает от одного до четырех пользователей, причем каждый из них работает со своим набором данных (адресные пространства каждого worker-а не пересекаются).

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






А вот и первая крупная неожиданность, причем ее никак не назовешь приятной – скорость чтения массивов всех типов при одном потоке не превышает 80 МБ/с, что является очень низким результатом, особенно для массивов RAID0, поскольку с одиночного диска мы имеем 63 МБ/с, и получившийся прирост скорости явно незначителен. Более внимательное рассмотрение результатов открывает нам еще одну странность: массивы RAID0 и RAID5 на большем числе накопителей проигрывают аналогам с меньшим количеством дисков.

При увеличении числа потоков вперед неожиданно вырываются зеркальные массивы: скорость RAID1 на двух дисках такова, что явно видно: данные читаются на полной скорости с обоих дисков. Массив RAID10 демонстрирует еще большую скорость, но такой явной закономерности как в RAID1 уже не наблюдается. Что же касается массивов других типов, то их скорость по-прежнему очень мала, и только уменьшилась по сравнению с чтением одного потока данных. Правда, при этом их расстановка стала более логичной: RAID5 демонстрирует меньшие скорости, чем RAID0, а внутри каждого типа скорость возрастает с увеличением количества дисков в массиве.

Конечно, определенную долю вины в низких результатах при нескольких потоках могут нести алгоритмы самих дисков, которым в режиме контроллера "Performance" разрешается работать, но у контроллера Areca 1220 результаты получались таки получше.






А вот на записи никаких особых сюрпризов нет, и полученные значения скоростей вполне соответствуют ожидаемым. Скорость RAID1 на двух дисках совпадает со скоростью одиночного диска; в два раза быстрее работает RAID0 на двух дисках, RAID5 на трех дисках (самое время вспомнить, что один из трех, фактически, занят контрольными суммами, хотя на практике они равномерно распределяются по всем трем дискам) и RAID10 на четырех. Ровно в три раза быстрее одиночного диска работают соответственно RAID0 на трех дисках и RAID5 на четырех, и в четыре раза быстрее – RAID0 на четырех дисках.

С увеличением количества потоков до двух картина сохраняется практически полностью, все массивы лишь незначительно теряют в скорости. Дальнейшее увеличение количества потоков, еще несколько теряя в скорости, переживают все, кроме RAID5 – этот тип массивов на трех и четырех потоках записи резко теряет в скорости до уровня одиночного диска. По всей видимости, винить в этом следует недостаточно мощный процессор.

IOMeter: Webserver, Fileserver и Workstation


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

Напомню, что в "Webserver" и "Fileserver" эмулируется работа накопителя в соответствующих серверах, в то время как в "Workstation" мы имитируем работу накопителя в режиме типичной нагрузки для рабочей станции, с ограничением максимальной глубины очереди в 32 запроса. Тестирование в "Workstation" проводится как с использованием всего дискового пространства накопителя, так и при работе только с адресным пространством 32 ГБ.

На основе полученных данных построим графики и итоговые диаграммы с рейтингами быстродействия жестких дисков.
Для "Fileserver" и "Webserver" общий балл будем рассчитывать, как среднее значение скорости обработки контроллером запросов при всех вариантах нагрузки. Для "Workstation" балл рассчитывается по следующей формуле:

Rating (Workstation) = Total I/O (queue=1)/1 + Total I/O (queue=2)/2 + Total I/O (queue=4)/4 + Total I/O (queue=8)/8 + Total I/O (queue=16)/16.




На этом типе нагрузки все типы массивов на глубинах очереди, отличных от единицы, демонстрируют ощутимый прирост производительности по сравнению с одиночным диском. Любопытно поведение RAID1 на двух жестких дисках: если при глубине очереди две запроса он лишь незначительно отстает от лидеров, то при последующем увеличении очереди его производительность растет весьма незначительно и, в итоге, на больших очередях этот массив демонстрирует самые слабые результаты. Что касается лидера, то вплоть до очереди из четырех запросов включительно таковым является RAID10 на четырех дисках, несколько обгоняя RAID0 на таком же количестве дисков. Дальнейшее увеличение глубины выводит на первое место RAID0 на 4 дисках, поскольку RAID10 несколько снижает темпы прироста производительности. Впрочем, RAID0 на трех дисках он опережает всегда.

Массивы RAID5 демонстрируют меньшую производительность, чем RAID0 на таком же количестве дисков, но в целом достаточно неплохо справляются с этим типом нагрузки. Массивы RAID0 демонстрируют завидную масштабируемость производительности с увеличением количества участвующих в них дисков, а вот у RAID5 с масштабируемостью похуже, хотя она так же заметна.


Рейтинг в целом отображает расклад на графиках – поскольку в нем больший удельный вес имеет производительность на малых глубинах очереди, то RAID10 обгоняет RAID0 на четырех дисках. Общая расстановка такая же, как и на протестированных нами ранее контроллерах. Обратите внимание: RAID5 на трех дисках, а также RAID0 и RAID1 на двух дисках демонстрируют очень близкие по значению результаты.




В тесте "Webserver", в котором отсутствуют запросы на запись, лучшего всего чувствуют себя "зеркальные" массивы за счет корректно работающих алгоритмов оптимизации чтения с зеркал, отправляющих запрос на тот диск, которые сможет быстрее отдать данные. Соответственно, победителем на всех глубинах очереди становится RAID10 на четырех дисках, а RAID1 на двух дисках заметно опережает RAID0 на тех же двух дисках. Отлично справляются с этим типом нагрузки и массивы RAID5 – их производительность такая же, как и у RAID0 на таком же количестве дисков.


Рейтинг в "Webserver" лишь более просто отражает ситуацию, только что виденную нами на графиках и не требует каких-либо особых комментариев.




В данном тесте, эмулирующем интенсивную работу пользователя в приложениях, традиционно лучшие результаты показывают массивы RAID0. Не стал исключением и данный контроллер – если на очереди глубиной два запроса RAID10 держится на уровне (и даже совсем незначительно, но опережает), то на больших очередях RAID0 на четырех дисках вне конкуренции, в то время как RAID10 практически соответствует RAID0 на трех дисках. Обратите внимание: преимущество RAID0 на четырех дисках, над тем же массивом, но на трех накопителях проявляется лишь на глубинах очереди больше двух.

Что касается RAID1 на двух дисках, то его производительность такая же, как и у RAID0 на таком же количестве дисков. А вот RAID5 нагрузку, характерную для этого теста, воспринимает очень плохо, и массивы этого типа демонстрируют очень невысокие скорости и малую масштабируемость производительности при увеличении количестве накопителей в массиве.


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




Уменьшение рабочего пространства до 32 ГБ в тесте "Workstation" не приводит к каким-либо серьезным изменениям в графиках массивов – стали чуть более заметны описанные нами выше тенденции да увеличились абсолютные значения производительности массивов.


Перестановки в рейтинге незначительны: RAID0 на трех дисках почти догнал RAID10, а RAID5 на четырех дисках сумел обогнать RAID1.

FC-Test


Следующим в нашей программе тестирования идет FileCopy Test. На виртуальном диске массива создается два раздела по 32 ГБ, размечаемые на двух этапах тестирования сначала в NTFS, а затем в FAT32, после чего на дисках создается определенный набор файлов, считывается, копируется в пределах раздела и копируется с раздела на раздел. Время всех этих операций фиксируется. Напомним, что наборы "Windows" и "Programs" включают в себя большое количество мелких файлов, а для остальных трех паттернов ("MP3", "ISO" и "Install") характерно меньшее количество файлов более крупного размера.

Поскольку результатов довольно много, то мы будем подробно рассматривать лишь значения, достигнутые на наборах файлов"Install", "ISO" и "Programs", являющихся более характерными для обычного использования массивов. Для большей читаемости результаты окрашены в соответствии с типами массивов.




Рассмотрим результаты, полученные в файловой системе FAT32.






Как и следовало ожидать, лучше всех с записью файлов справились массивы RAID0. Любопытно, что на наборе "ISO" и "Install" они демонстрируют очень хорошую масштабируемость, а вот на файлах малого размера в "Programs" демонстрируют очень схожие результаты. В последнем же наборе файлов очень хорошие результаты демонстрируют и массивы RAID5, в то время как на остальных наборах их скорость ниже, чем у одиночного диска.

Что же касается зеркальных массивов, то на всех наборах файлов RAID1 идет вровень с одиночным диском, а RAID10 демонстрирует уровень производительности, аналогичный с RAID0 на двух жестких дисках.






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






С копированием в пределах раздела лучше всех справляются массивы RAID0, причем у массива на четырех дисках мы снова видим проблемы с масштабируемостью производительности. Зеркальные массивы ведут себя так же, как и при записи файлов: RAID1 совпадает по скорости с одиночным диском, а RAID10 – с массивом RAID0 на двух дисках.

Массивы RAID5 в этом тесте весьма чувствительно относятся к используемому набору файлов – чем больше размер файлов, тем большие скорости они демонстрируют: так, на "ISO" они сравниваются по скорости с массивами RAID0 с количеством дисков, меньшим на единицу, а с уменьшением размера файлов все больше и больше приближаются по скорости к одиночному диску.






Увеличение дальности копирования практически никак не отражается на результатах – картина аналогична тому, что мы видели только что на копировании в пределах раздела

А теперь рассмотрим поведение накопителей в тех же тестах, но с разделами, отформатированными в NTFS.






В целом, расстановка сил такая же, как и в FAT32, хотя и с некоторыми отличиями: массивы RAID5 уже и в "Programs" не увеличивают своей скорости и на всех наборах оказываются медленнее одиночного диска. Несколько снизились и результаты зеркальных массивов при сравнении их с одиночным диском и массивам RAID0. Ну и в целом у всех массивов снизились абсолютные значения демонстрируемых скоростей во всех режимах.






Проблемы с общей малой скоростью массивов на чтении никуда не делась. Если сравнивать массивы между собой, то можно заметить три явных отличия от ситуации, виденной на FAT32: несколько прибавил в скорости относительно остальных массивов RAID10, массивы RAID5 демонстрируют постоянную скорость независимо от количества дисков в них, и самое удивительное – лучшим среди RAID0 массивов во всех наборах стал массив из двух дисков.












На копировании смена файловой системы вызвала лишь некоторое уменьшение скоростей всех типов массивов, все сказанное про соотношения скоростей разных массивов в FAT32 осталось верным.

WinBench 99


В завершение привычно приведем снятые в WinBench99 графики линейного чтения для каждого массива:

Одиночный диск
Массив RAID0, 2HDD
Массив RAID0, 3HDD
Массив RAID0, 4HDD
Массив RAID1, 2HDD
Массив RAID10, 4HDD
Массив RAID5, 3HDD
Массив RAID4, 4HDD

Сравним массивы по продемонстрированным скоростям чтения в начале и конце получившихся виртуальных дисков:


Любопытно, что продемонстрированные скорости полностью повторяют виденную нами в тесте "Sequential Read" идеальную ситуацию и никак не объясняют то, что мы наблюдали в тесте на чтение в FC-Test.

Подведение итогов


Итак, по результатам тестов контроллера 3 Ware 9650SE-16ML мы можем сказать, что он продемонстрировал в целом неплохие результаты, хотя при этом есть и недочеты. Самым крупным из них является неожиданно малые скорости чтения при работе с файлами с массивов с большой теоретической скоростью чтения. Ситуация доходит до абсурдной: контролер умудряется писать файлы на массивы RAID0 быстрее, чем читать эти же файлы с них же. Некоторые нарекания остались у нас и к масштабируемости массивов RAID0, и к производительности массивов RAID5. С другой стороны, контроллер продемонстрировал практически идеальные результаты в тесте на потоковые чтение и запись и хорошо справляется с распределением нагрузки между дисками в зеркальных массивах. Таким образом, на наш взгляд, лучшим применением этого контроллера будет его использование в зеркальных массивах RAID1 и RAID10.

Другие материалы по данной теме


Обзор RAID-контроллера Areca ARC-1220
Контроллер 3Ware 9500S-8 от 3Ware