Введение
Совсем недавно, в обзорах двухканальных IDE RAID-контроллеров нового поколения (
FastTRAK TX2000 от Promise,
RocketRAID 133 от HighPoint и
Sil 680 от Silicon Image) мы наглядно видели, как падает производительность контроллера, когда в составе массива два винчестера оказываются на одном шлейфе. Бороться с этим (в смысле, со снижением производительности) можно двумя путями.
Во-первых, можно не делать больших массивов ( :) ).
Действительно, наиболее часто используемой конфигурацией IDE RAID-массива является массив из двух винчестеров, объединённых либо в RAID 0 для увеличения скорости, либо в RAID 1 для увеличения надёжности хранения данных. Дисковый массив из четырёх и более винчестеров могут позволить себе немногие, а те, кто мог это себе позволить, предпочитали решения на SCSI-дисках. Но в настоящее время никакие SCSI-решения не могут конкурировать с RAID-массивами на IDE-винчестерах по стоимости хранения данных, и потому потребность в больших IDE RAID-массивах объективно существует.
Второй путь борьбы представляет собой весьма кардинальное решение проблемы. Если каждый винчестер массива подключить к отдельному каналу IDE, то тем самым мы устраняем первопричину проблем - невозможность одновременного обмена информацией с винчестерами, подключёнными на один шлейф. Таким образом, выход прост - нужно увеличить количество IDE-каналов!
Именно по этому пути и пошли инженеры HighPoint, создавая RocketRAID404 (не правда ли, название контроллера созвучно с маркировкой полноприводных машин - 4х4) и инженеры Promise при создании FastTRAK100 TX4. Правда, подходы при этом у фирм оказались разные...
За подробностями по каждому контроллеру добро пожаловать в отдельные статьи, им посвящённые:
Promise FastTRAK100 TX4
HighPoint RocketRAID 404
А в этой статье мы сравним эти контроллеры между собой и с двухканальными контроллерами Promise (
FastTRAK TX2000) и HighPoint (
RocketRAID133).
Все контроллеры тестировались по следующей методике:
Методика тестирования
Размер stripe-блока при создании массивов устанавливался в 64КБ. Для тестов в WinBench массивы размечались в FAT32 и NTFS одним разделом с размером кластера по умолчанию.
Тесты проводились по четыре раза, результаты усреднялись. Винчестеры между тестами не охлаждались.
Использовались следующие тесты:
WinBench 99 1.2
IOMeter 1999.10.20
Для сравнения скорости работы контроллера в различных типах RAID-массивов при помощи теста IOMeter использовались новые паттерны StorageReview, анонсированные в
третьей редакции их методики тестирования жёстких дисков.
Паттерны StorageReview
| File Server | Web Server
|
---|
| 80% Read, 100% Random | 100% Read, 100% Random
|
512b | 10% | 22%
|
1KB | 5% | 15%
|
2KB | 5% | 8%
|
4KB | 60% | 23%
|
8KB | 2% | 15%
|
16KB | 4% | 2%
|
32KB | 4% | 6%
|
64KB | 10% | 7%
|
128KB | 0% | 1%
|
512KB | 0% | 1%
|
Эти паттерны призваны измерить производительность дисковой подсистемы при нагрузке, типичной для file&web-серверов.
На основании проведённого Storagereview исследования о характере нагрузки на дисковую подсистему при работе с обычными Windows-приложениями наш автор, Романов Сергей aka GReY, создал паттерн для теста IOMeter (паттерн создавался по усреднённой статистике IPEAK, приведённой на StorageReview для режимов работы Office, Hi-End и Bootup):
Паттерн Workstation
Transfer Size Request | % of Access Specification | % Reads | % Random
|
---|
Workstation
|
512B | 1 | 0 | 100
|
1KB | 2 | 0 | 100
|
2KB | 1 | 0 | 100
|
4KB | 50 | 60 | 80
|
8KB | 4 | 50 | 100
|
16KB | 6 | 50 | 100
|
20KB | 2 | 50 | 100
|
24KB | 2 | 50 | 100
|
28KB | 1 | 50 | 100
|
32KB | 13 | 70 | 70
|
48KB | 1 | 50 | 100
|
52KB | 1 | 50 | 100
|
64KB | 14 | 80 | 60
|
64KB+512B | 2 | 50 | 100
|
Этим паттерном мы будем руководствоваться для оценки привлекательности винчестеров и RAID-контроллеров для обычного Windows-пользователя.
Дополнительно проведено сравнение скорости работы контроллера с различными типами RAID-массивов при изменяемом соотношении операций чтения/записи. Был создан паттерн, в котором использовались 100% случайные 8КБ-блоки данных, а соотношение числа чтений/записей менялось от 100/0 до 0/100 c шагом -10/+10.
Ну и, наконец, была проверена способность контроллеров работать с Sequential-запросами переменного размера на чтение и запись в различных типах RAID-массивов.
Тестовая система
материнская плата - SuperMicro 370DLE
процессор - Intel P3 600E;
память - 2*128Mb SDRAM Micron PC133 ECC Registered;
винчестер - Quantum FB EL 10GB;
видеокарта - Matrox Millennium 4Mb;
операционная система - Windows 2000 Pro SP2;
Для создания массивов использовались четыре диска Maxtor D740X-6L (6L020J1).
Контроллеры тестировались со следующими версиями BIOS/драйверов:
Promise FT100 TX4 BIOS 2.00 b11 на драйверах 2.00 build 18.
Promise TX2000 BIOS 2.00.0.22 на драйверах 2.00 build 24.
HPT RocketRAID 404 BIOS 1.21 на драйверах 1.21.
HPT RocketRAID 133 BIOS 2.31 на драйверах 2.31.
Winbench99
На всякий случай я решил представить данные в двух видах - таблицах и диаграммах. Так что смотрите, кому что удобнее:
FAT32 Но мне больше нравятся диаграммы. :)
В Business-тесте громадное преимущество имеют контроллеры от HighPoint, причём и двухканальный и четырёхканальный контроллеры показывают одинаковые результаты. Скорее всего, скорость этих контроллеров в этом тесте определяется только волшебными свойствами кэширующего драйвера HighPoint.
У контроллеров Promise результаты намного ниже, но зато у Promise четырехканальный контроллер быстрее двухканального!
В High-End тесте разрыв между контроллерами HighPoint и Promise уменьшается, но результаты контроллеров HighPoint всё же выше. Обратите внимание, что разница в скорости между четырёх и двухканальными контроллерами HighPoint меньше, чем между контроллерами Promise. Видимо, программное кэширование, применяемое HighPoint, демпфирует влияние архитектуры контроллеров на результат. Однако, при работе в RAID01 скорости контроллеров RR404 и RR133 всё-таки отличаются!
NTFS Смена файловой системы не повлекла за собой каких-то изменений в расстановке сил. Контроллеры HighPoint опять впереди, и опять их скорость одинакова. Среди контроллеров Promise по-прежнему впереди FT100 TX4.
В High-End тесте контроллеры Promise подтягиваются вплотную к результатам контроллеров HighPoint, но следует признать, что победа остаётся за HighPoint.
IOMeter: Database
Попробуем поиграть в игры со случайной закономерностью. :)
Итак, случайные 8КБ-запросы при изменяемой доле операций чтения/записи дали нам вот такую картину (для сравнения взяты результаты контроллеров, показанные ими при глубине очереди команд, равной 16-ти):
Представим себе, что мы используем на контроллерах всего один диск (глупость, конечно, но... представим!)
Как видим, до точки, где доля операций записи составляет 50 процентов, все контроллеры показывали одинаковую скорость. Однако при дальнейшем увеличении доли операций записи вперёд выходят контроллеры RocketRAID 133 и FastTRAK TX2000 (что интересно - оба они двухканальные!). При 90-процентной доле операций записи преимущество двухканальных контроллеров над четырёхканальными достигает максимума, после чего оно резко пропадает. Интересно, зачем двухканальным контроллерам такие агрессивные драйвера? :)
При работе с RAID0-массивом из двух винчестеров четырёхканальные контроллеры выглядят немного лучше (особенно контроллер Promise FT100 TX4) в режимах с малой долей операций записи. А при доле операций записи в 90 процентов двухканальные контроллеры опять "делают стойку"...
Массив RAID0 из трёх дисков стал первой нашей "лакмусовой бумажкой". Обратите внимание, на эту разницу в скорости между четырёх и двухканальными контроллерами - настоящая пропасть! Причём в создании этой пропасти "виноваты" обе стороны. Четырёхканальные контроллеры исправно прибавили в скорости (просто сравните графики с предыдущей диаграммой), а вот двухканальные контроллеры сильно сдали в скорости. Что же произошло? А третьего им в купе подсадили... ;) У двухканальных контроллеров в массиве появилась пара винчестеров, подключенных на один шлейф. Вот эта парочка и превратилась в гири на ногах бегуна...
Но, при всём при этом, двухканальные контроллеры опять ведут себя более активно при большой доле операций записи!
При работе с массивом RAID0 из четырёх винчестеров оба варианта контроллеров прибавляют в скорости, но отдача от четвёртого добавленного в массив винчестера на четырёхканальных контроллерах явно больше! Но, при большой доле операций записи контроллеры HighPoint ведут себя как-то странно. Доселе вполне мирный RocketRAID 404 показал какой-то горб в конце графика, а RocketRAID 133 вообще решил штурмовать Эверест в режиме RandomWrite...
При работе с RAID1 все контроллеры ведут себя более менее прилично, хотя двухканальные контроллеры при большой доле операций записи пытались было что-то предпринять. Но очень быстро передумали. ;)
Обратите внимание на график контроллера FastTRAK100 TX4 - вот ТАК должны работать настоящие герои RAID01! А как же другой четырёхканальный контроллер? Второй наш четверорукий боец - HighPoint RocketRAID 404 сначала боролся с двухканальным Promise TX2000, но потом уступил и ему. :(
Контроллер HighPoint RocketRAID133 в режиме RAID01 ужасно не любит чтение... Зато, как он любит писать... Ну, прям Пушкин... :)
Обратите внимание, что и в этом, таком трудном для двухканальников режиме, контроллеры FastTRAK TX2000 и HighPoint RocketRAID 133 опережают четырёхканальных собратьев при большой доле операций записи.
Однако, при работе в реальных условиях в потоке запросов, приходящих на дисковую подсистему, доля запросов на чтение намного больше, чем доля запросов на запись. Так что на все пляски святого Витта в правой части диаграмм не обращайте внимания, какими бы высокими там не были результаты контроллеров.
IOMeter: Sequential Read & Write
Результаты контроллеров в паттернах SequentialRead и SequentialWrite я решил сократить до минимума. В таблице представлены максимальные значения потока данных, который удалось считать с массива (записать на массив) каждым из контроллеров. Синим цветом обозначены лучшие результаты (среди четырёх контроллеров), а красным - худшие:
Как видим, из этой четвёрки лучше всего с обработкой потоковых данных справляется контроллер HighPoint RocketRAID 404. Второе место следует присудить контроллеру Promise TX2000, а самое последнее место (по количеству клеточек, помеченных красным) - контроллеру Promise FastTRAK100 TX4. Как я уже говорил в
обзоре FastTRAK100 TX4, контроллер этот имеет слишком сложную архитектуру...
IOMeter: Workstation
Таблица результатов паттерна Workstation хоть и выглядит большой, но зато очень легко читаема. В особенности если не приглядываться к цифрам, а обратить внимание на раскраску таблицы.
Как видим, контроллер FT100 TX4 победил в четырёх режимах из шести (RAID0 на двух и трёх винчестерах, RAID1 и RAID01). В остальных двух режимах первенствовал HighPoint RocketRAID 404. Налицо превосходство четырёхканальных контроллеров над двухканальными. На приведённых ниже диаграммах я показал те режимы, где это превосходство заметно "невооружённым взглядом", или... практически отсутствует.
На последней диаграмме мы опять можем наблюдать безапелляционную победу Promise TX4 над конкурентами в режиме RAID01.
IOMeter: SR2002
По той же схеме, что я использовал для паттерна Workstation, оформлены результаты паттернов Fileserver и Webserver. Надеюсь, всё достаточно наглядно:
Результаты паттерна Fileserver При работе с RAID0-массивами из трёх и четырёх винчестеров контроллеры HighPoint и Promise показали примерно равную скорость. А вот в режиме RAID1 мы уже можем видеть единоличного лидера - им стал контроллер Promise FastTRAK100 TX4. Остальные контроллеры в этом режиме опять примерно равны. Учитывая, что на двухканальных контроллерах в массив RAID1 добавлялись винчестеры с разных каналов, большой разницы между двухканальными контроллерами и четырёхканальным HighPoint RR404 нет. С контроллером Promise FT100 TX4 дело обстоит несколько иначе - я создал RAID1-массив из винчестеров, подключённых к разным
чипам, а не к разным
каналам одного чипа и это, по-видимому, положительно повлияло на скорость работы FT100 TX4.
В режиме RAID01 всё еще интереснее! Преимущество FastTRAK100 TX4 громадно - он более чем в полтора раза быстрее своего ближайшего преследователя. Хотя в данном случае более правильно говорить "...быстрее двух своих преследователей", так как контроллеры HighPoint RR404 и Promise FastTRAK TX2000 оказались примерно одинаковы по скорости, несмотря на отличия их архитектур. Контроллер же HighPoint RR133 в RAID01 выступил и вовсе неубедительно...
Результаты паттерна Webserver При работе с RAID0-массивами из трёх и четырёх винчестеров превосходство в скорости четырёхканальных контроллеров над двухканальными громадно и не подлежит обсуждению. Между собой контроллеры FastTRAK100TX4 и HighPoint RocketRAID 404 примерно равны (контроллер RocketRaid 404 немного быстрее FT100 TX4 при больших нагрузках).
При работе с RAID1 в качестве соперника контроллеру Promise FastTRAK100 TX4 выступает, кто бы вы думали, HighPoint RR133!
При работе с RAID01-массивами королём скорости, безусловно, является контроллер Promise FastTRAK100 TX4! Но и четырёхканальный контроллер HighPoint RR 404 в этом паттерне оказался быстрее двухканального Promise FastTRAK TX2000. Самым медленным в RAID01 опять стал контроллер HighPoint RR133. По всей видимости, RAID01 - не его стихия...
Выводы
Вот мы и добрались до выводов...
Основной вывод, который можно сделать после проведённого сравнения - четырёхканальные IDE RAID-контроллеры - это не дорогие, но бесполезные игрушки. Они имеют реальные преимущества при определённом круге задач, например в массивах RAID0 на трёх и четырёх винчестерах, где они более чем на 50% быстрее двухканальных собратьев.
Перед ответом на вопрос "А какой же из контроллеров лучше", перечислим все их плюсы и минусы.
HighPoint RocketRAID 404 Плюсы
Возможность работы с 8-ю винчестерами (весьма недорогой способ создать БОЛЬШОЙ дисковый массив)
Высокая скорость работы в RAID0
Высокая скорость работы с потоковыми данными
Удобная утилита для менеджмента массивов под Windows
Приемлемая цена
Минусы
Невысокая скорость RAID01
Promise FastTRAK100 TX4 Плюсы
Высокая скорость работы во всех типах RAID-массивов
Самая высокая скорость работы в RAID01 среди всех протестированных firmware-RAID контроллеров
Наличие Pro-варианта (в комплект которого входят две SuperSwap-корзины)
Поддержка шины PCI 32/66МГц
Минусы
Недружелюбный интерфейс утилиты мониторинга состояния массива
Отсутствие утилиты для создания/редактирования массива из под Windows
Низкая скорость работы с потоковыми данными
Исходя из вышеперечисленных достоинств и недостатков контроллеров я полагаю, что контроллер HighPoint лучше подходит для "home-office" использования (т.е. работа с видео, создание архивов и просто для ускорения работы), а контроллер Promise, за счёт прекрасной реализации RAID1 и RAID01, является единственно верным выбором (из этого набора контроллеров, естественно) для серверов на IDE RAID, что, впрочем, не исключает его работу и в домашнем компьютере с тем же успехом. :)