Введение
Этот обзор посвящён весьма неординарному устройству - внешнему IDE RAID-контроллеру от Promise - UltraTRAK100 TX4. Почему неординарному - спросите вы. Во-первых, сами по себе внешние RAID-контроллеры значительно менее распространены, чем обычные PCI RAID-контроллеры, и появление первого внешнего RAID-контроллера в нашей лаборатории - своего рода праздник. :)
Во-вторых, внешний RAID-контроллер Promise работает с IDE-дисками, что тоже тянет на прецедент. Доселе, внешние RAID-контроллеры делались только для SCSI-дисков и проникновение интерфейса IDE в эту нишу также заслуживает отдельного разговора.
Что же, внешний RAID-контроллер - простейший способ увеличить ёмкость дисковой подсистемы без глобальной перестройки архитектуры сервера (особенно если его конструктив не предусматривает дальнейшее увеличение ёмкости дисковой подсистемы простым добавлением дисков) и с минимальными затратами времени на настройку программного обеспечения.
Если кого-нибудь испугал тот факт, что в UltraTRAK100 TX4 используются IDE-диски, спешу успокоить - к компьютеру RAID-контроллер подсоединяется по обычному Ultra2 SCSI-интерфейсу. Использование же IDE-дисков позволяет заметно снизить стоимость хранения информации, ведь современные IDE-диски имеют очень приличные объёмы (120-160ГБ) и, за счёт относительно невысокой их стоимости, значительно лучшее соотношение ёмкости и цены, чем текущие SCSI-диски.
Итак, настала пора познакомиться с Promise UltraTRAK100 TX4 поближе:
Контроллер
Внутри увесистой белой коробки, украшенной только названием фирмы-производителя (т.е. надписями Promise :) ) находится весьма симпатичное устройство:
Как видите, передняя панель, а также и всё, что она скрывает, выкрашено в серый металлик, что придаёт устройству некий "космический" ореол и, на мой взгляд, несколько игрушечный вид.
За открывающейся передней панелью находятся четыре отсека для винчестеров с установленными в них mobile-rack-ами.
Несмотря на их кажущуюся "игрушечность", mobile-rack-и сделаны на совесть - за пластмассовой передней панелью скрывается прочный стальной корпус.
Из стали же выполнена и корзина (коробка, направляющие):
Так что за долговечность механизма корзины можно не волноваться.
Для надёжной и безопасной замены дисков "на лету" (HotSwap) корзина и mobile-rack-и оснащены специальной электронной схемой, о которой я уже писал в обзоре
Promise FastTRAK100 TX2 Pro.
Чтобы продолжить осмотр Promise UltraTRAK100 TX4, мне пришлось его немного развинтить. :)
После снятия П-образной крышки моему взгляду предстал... маленький компьютер!
Отлично виден блок питания и материнская плата со вставленным модулем памяти. Перед тем, как мы перейдём к изучению материнской платы и всего, что на ней установлено, бросим взгляд на заднюю часть нашего системного блока:
Как видим, за температуру внутри корпуса отвечают аж четыре вентилятора (не считая вентилятора в блоке питания)!
Над блоком питания находится выключатель питания, который светится зелёным светом, если UltraTRAK100 TX4 не включён. Если же включить UltraTRAK100 TX4, то лампочка в переключателе гаснет. Интересно, зачем подсвечивать кнопку включения? Чтобы проще было искать её в темноте? :)
В верхней части задней панели UltraTRAK100 TX4 мы можем видеть также разъём COM (наверное, для удалённого администрирования) и два разъёма Ultra2 LVD SCSI (на самом деле - один, так как второй занят терминатором). В один из этих разъёмов подключается кабель от SCSI-контроллера копьютера, а к второму разъёму подключается терминатор или ещё один UltraTRAK100 TX4! То есть дисковая подсистема на UltraTRAK100 TX4 очень просто масштабируется по мере необходимости. Вот Вам и преимущество подключения по SCSI-интерфейсу...
Кстати об интерфейсе - с контроллером поставляются соединительный кабель и терминатор:
Ну что же, настала пора посмотреть, на какой платформе работает UltraTRAK100 TX4:
За большим чёрным радиатором "спрятался" процессор Intel i960RD66,
слева от него находится разъём для модуля памяти. Чуть выше - два установленных чипа Promise PDC20265R
и посадочные места еще для двух чипов. По всей видимости, модель UltraTRAK100 TX8 отличается от UltraTRAK100 TX4 только этим (не считая небольших изменений в фирмваре).
Справа от центрального процессора находится чип LSI 53C895, отвечающий за SCSI-интерфейс.
Кэш-память выполнена в виде 16MB 72pin EDO SIMM-модуля.
В нижней части платы расположены биос, батарейка СMOS-памяти и контроллер дисплея на жидких кристаллах.
Единственное, что я ещё не продемонстрировал, так это UltraTRAK100 TX4 в работе:
Оказывается, при работе он весь светится, как рождественская ёлка. :)
Жидкокристаллический индикатор, наоборот, сух и лаконичен:
При нормальной работе контроллера на индикаторе отображается статус массива, температура (то ли винчестеров, то ли просто температура внутри корпуса...) и средняя скорость вращения вентиляторов.
Драйвера и утилиты
Этот раздел обзора будет очень коротким...
Внешнему RAID контроллеру Promise UltraTRAK100 TX4 драйвера не нужны!
Для SCSI-контроллера, расположенного в базовом компьютере, внешний RAID-массив видится как один винчестер и никакой дополнительной поддержки драйверами ему не требуется.
Всё необходимое для настройки параметров контроллера UltraTRAK100 TX4 и мониторинга состояния массива находится в фирмваре самого контроллера. Необходимые настройки производятся при помощи расположенных на передней панели четырех кнопок управления (вверх, вниз, выбор, выход), что оказалось на практике очень удобным решением.
Тестовая система
материнская плата - SuperMicro 370DLE
процессор - Intel Coppermine 600MHz;
память - 2*128Mb SDRAM Micron PC133 ECC Registered;
винчестер - Quantum FB EL 10GB;
видеокарта - Matrox Milennium 4Mb;
операционная система - Windows 2000 Pro SP2;
Для создания массивов использовались четыре диска IBM DTLA 307015.
Методика тестирования
Размер stripe-блока при создании массивов устанавливался в 64КБ. Для тестов в WinBench массивы размечались в FAT32 и NTFS одним разделом с размером кластера по умолчанию.
Тесты проводились по четыре раза, результаты усреднялись. Винчестеры между тестами не охлаждались.
Использовались следующие тесты:
WinBench 99 1.2
IOMeter 1999.10.20
Для IOMeter использовались следующие паттерны:
Паттерны для Intel IOMeter
% of Access Specification | Transfer Size Request | % Reads | % Random
|
---|
File Server Access Pattern
|
10% | 0.5 KB | 80% | 100%
|
5% | 1 KB | 80% | 100%
|
5% | 2 KB | 80% | 100%
|
60% | 4 KB | 80% | 100%
|
2% | 8 KB | 80% | 100%
|
4% | 16 KB | 80% | 100%
|
4% | 32 KB | 80% | 100%
|
10% | 64 KB | 80% | 100%
|
Workstation Access Pattern
|
100% | 8 KB | 80% | 80%
|
Database Access Pattern
|
100 | 8 KB | 67% | 100%
|
RandomWrite
|
100 | 8 KB | 0% | 100%
|
SequentialWrite
|
100% | 256 KB | 0% | 0%
|
RandomRead
|
100% | 8 KB | 100% | 100%
|
SequentialRead
|
100% | 256 KB | 100% | 0%
|
Дополнительно проведено сравнение скоростей контроллеров UltraTRAK100 TX4 и SuperTRAK SX6000 в RAID 5 и RAID01 при изменяемом соотношении операций чтения/записи. Был создан паттерн, в котором использовались 100% случайные 8КБ-блоки данных, а соотношение числа чтений/записей менялось от 100/0 до 0/100 c шагом 10.
Результаты WinBench 99
По традиции, начинаем с результатов Winbench:
Результаты Winbench99 RAID0 - FAT32
| 1HDD | 2HDD | 3HDD | 4HDD
|
---|
Business Disk WinMark 99 | 8690 | 8910 | 9090 | 9230
|
High-End Disk WinMark 99 | 17900 | 19600 | 20200 | 20600
|
|
HE:AVS/Express 3.4 | 17700 | 17000 | 17000 | 17500
|
HE:FrontPage 98 | 128000 | 115000 | 96800 | 94800
|
HE:MicroStation SE | 28700 | 27300 | 26400 | 27600
|
HE:Photoshop 4.0 | 7590 | 9000 | 9490 | 9590
|
HE:Premiere 4.2 | 14300 | 15700 | 16600 | 16900
|
HE:Sound Forge 4.0 | 22300 | 27000 | 28600 | 28600
|
HE:Visual C++ 5.0 | 23900 | 26800 | 26700 | 28100
|
|
Disk Access Time | 13,3 | 13,5 | 13,6 | 13,4
|
DTR:Beginning | 19100 | 17200 | 17300 | 17400
|
DTR:End | 18200 | 17200 | 17200 | 17400
|
Не в обиду Promise будет сказано, но скорость обработки больших файлов невысока, и из-за этого результаты массива в Hi-End тестах намного хуже, чем результаты одного винчестера IBM DTLA на обычном UDMA-контроллере. Впрочем, все контроллеры IDE RAID с аппаратным кэшом традиционно слабы в этом тесте.
Обратите внимание на скорость линейного чтения с массива - она не превышает 20МБ/сек. Я специально не стал выкладывать графики линейного чтения, так как все графики внешне выглядят одинаково - горизонтальная линия ниже 20МБ/сек.
Результаты Winbench99 RAID0 - NTFS
| 1HDD | 2HDD | 3HDD | 4HDD
|
---|
Business Disk WinMark 99 | 6900 | 7290 | 7250 | 7290
|
High-End Disk WinMark 99 | 16100 | 16700 | 17300 | 17600
|
|
HE:AVS/Express 3.4 | 16700 | 14100 | 14400 | 14700
|
HE:FrontPage 98 | 85400 | 88900 | 85800 | 85700
|
HE:MicroStation SE | 23400 | 21600 | 21500 | 20400
|
HE:Photoshop 4.0 | 7510 | 8760 | 9100 | 9290
|
HE:Premiere 4.2 | 12200 | 13100 | 13900 | 13900
|
HE:Sound Forge 4.0 | 20700 | 23200 | 22500 | 24200
|
HE:Visual C++ 5.0 | 19000 | 20200 | 20700 | 21000
|
Под NTFS чуда не происходит, и результаты чуть уменьшаются...
Вполне естественно, что во всех остальных типах массивов контроллер UltraTRAK100 TX4 показал себя хуже, чем в RAID0.
Результаты Winbench99 RAID 1/3/5/01 - FAT32
| RAID3-3HDD | RAID3-4HDD | RAID5-3HDD | RAID5-4HDD | RAID 1 | RAID01
|
---|
Business Disk WinMark 99 | 8030 | 8020 | 8000 | 8020 | 8630 | 8860
|
High-End Disk WinMark 99 | 13500 | 13600 | 13700 | 13500 | 16300 | 17600
|
|
HE:AVS/Express 3.4 | 16200 | 16600 | 16500 | 16300 | 18300 | 17000
|
HE:FrontPage 98 | 83900 | 70900 | 107000 | 73800 | 124000 | 109000
|
HE:MicroStation SE | 25700 | 26600 | 24800 | 25400 | 29100 | 27000
|
HE:Photoshop 4.0 | 5160 | 4980 | 5250 | 4950 | 6750 | 7710
|
HE:Premiere 4.2 | 11100 | 11500 | 10900 | 11500 | 12400 | 13900
|
HE:Sound Forge 4.0 | 17600 | 18600 | 17600 | 18700 | 19200 | 22200
|
HE:Visual C++ 5.0 | 16500 | 16900 | 17600 | 16900 | 21200 | 24200
|
|
Disk Access Time | 13,5 | 13,7 | 13,5 | 13,5 | 13,3 | 12,8
|
Disk Transfer Rate:Beginning | 17100 | 16900 | 16900 | 16900 | 18800 | 17200
|
Disk Transfer Rate:End | 17000 | 16900 | 16900 | 16900 | 18500 | 17200
|
Результаты Winbench99 RAID 1/3/5/01 - NTFS
| RAID3-3HDD | RAID3-4HDD | RAID5-3HDD | RAID5-4HDD | RAID 1 | RAID01
|
---|
Business Disk WinMark 99 | 6230 | 6570 | 6240 | 6350 | 6870 | 6870
|
High-End Disk WinMark 99 | 11800 | 11400 | 11800 | 11600 | 14200 | 15200
|
|
HE:AVS/Express 3.4 | 14100 | 14200 | 14300 | 14000 | 14800 | 14800
|
HE:FrontPage 98 | 76600 | 74300 | 82200 | 83800 | 85800 | 90300
|
HE:MicroStation SE | 20800 | 21200 | 19900 | 19300 | 22800 | 20200
|
HE:Photoshop 4.0 | 5030 | 4860 | 4950 | 4740 | 6660 | 7520
|
HE:Premiere 4.2 | 8480 | 8500 | 9610 | 8950 | 10300 | 11500
|
HE:Sound Forge 4.0 | 14900 | 15100 | 15400 | 14700 | 16900 | 19200
|
HE:Visual C++ 5.0 | 13200 | 13000 | 13700 | 13500 | 16700 | 18100
|
Как видим, контроллер UltraTRAK100 TX4 не слишком быстро работает в тестах WinBench. Что послужило причиной такой низкой скорости - "длинная" цепочка прохождения команд - SCSI-i960-IDE-i960-SCSI, или перманентная работа 66МГц чипа i960 через медленный кэш - сложный вопрос...
Результаты IOMeter
Результаты тестирования в этом тесте приводятся в максимально "сжатом" виде - только зависимость скорости обработки контроллером запросов от глубины очереди команд и типа массива.
Начнём с массивов RAID 0 и RAID 1:
Результаты IOMeter RAID 0 & RAID 1
| RAID0-1HDD | RAID0-2HDD | RAID0-3HDD | RAID0-4HDD | RAID 1
|
---|
Fileserver
|
1 | 70,88 | 75,74 | 78,02 | 78,97 | 80,09
|
4 | 84,54 | 125,38 | 162,21 | 188,22 | 129,84
|
16 | 84,49 | 124,84 | 161,63 | 187,66 | 129,54
|
64 | 110,14 | 165,14 | 207,41 | 233,04 | 167,57
|
256 | 126,27 | 185,64 | 233,69 | 263,53 | 193,77
|
Workstation
|
1 | 81,82 | 87,32 | 90,14 | 91,39 | 93,29
|
4 | 92,65 | 137,40 | 172,89 | 197,44 | 142,19
|
16 | 92,85 | 137,71 | 172,78 | 198,40 | 141,21
|
64 | 123,80 | 179,97 | 218,66 | 241,82 | 177,86
|
256 | 141,16 | 203,11 | 248,29 | 274,85 | 204,82
|
Database
|
1 | 73,89 | 83,34 | 87,96 | 89,58 | 83,16
|
4 | 86,91 | 133,84 | 175,70 | 207,76 | 122,13
|
16 | 86,74 | 134,66 | 176,32 | 207,84 | 122,31
|
64 | 108,90 | 167,88 | 215,88 | 246,26 | 149,17
|
256 | 127,42 | 190,42 | 244,30 | 278,88 | 175,94
|
RandomRead
|
1 | 71,25 | 69,99 | 70,02 | 70,16 | 81,19
|
4 | 87,05 | 129,43 | 161,05 | 182,64 | 153,55
|
16 | 87,18 | 129,15 | 161,59 | 182,92 | 153,37
|
64 | 121,14 | 181,03 | 220,73 | 243,04 | 221,30
|
256 | 139,46 | 207,67 | 253,04 | 278,62 | 255,64
|
SequentialRead
|
1 | 75,22 | 77,66 | 78,48 | 78,25 | 73,43
|
4 | 76,91 | 79,15 | 79,63 | 79,40 | 78,10
|
16 | 76,93 | 79,15 | 79,66 | 79,42 | 77,05
|
64 | 76,89 | 79,14 | 79,65 | 79,42 | 76,05
|
256 | 76,34 | 78,80 | 79,35 | 79,13 | 75,53
|
RandomWrite
|
1 | 106,04 | 172,61 | 244,73 | 256,77 | 96,18
|
4 | 105,96 | 173,08 | 244,88 | 312,48 | 96,11
|
16 | 105,70 | 172,45 | 244,22 | 306,34 | 96,62
|
64 | 115,95 | 177,73 | 252,81 | 271,17 | 106,14
|
256 | 153,95 | 235,42 | 316,52 | 267,91 | 147,00
|
SequentialWrite
|
1 | 48,08 | 58,41 | 64,03 | 67,34 | 38,43
|
4 | 51,37 | 59,64 | 65,74 | 69,01 | 38,90
|
16 | 51,49 | 59,65 | 65,73 | 69,05 | 38,89
|
64 | 51,67 | 59,65 | 65,74 | 69,12 | 38,89
|
256 | 51,12 | 59,34 | 65,41 | 68,79 | 38,69
|
Что же мы видим? Во-первых, скорость контроллера растёт при увеличении количества дисков, как, впрочем, и полагается.
Во-вторых, RAID 1-массив в некоторых случаях (при явном преобладании запросов на чтение) быстрее, чем RAID 0 на двух винчестерах.
В-третьих, скорость контроллера при обработке Sequential-запросов невысока. Максимум, что удалось "выжать" из контроллера - примерно 20МБ/сек при чтении и 17МБ/сек при записи.
Посмотрим, что контроллер покажет в других типах массивов:
Результаты IOMeter RAID 3 & RAID 5 & RAID 01
| RAID3-3HDD | RAID3-4HDD | RAID5-3HDD | RAID5-4HDD | RAID01
|
---|
Fileserver
|
1 | 68,91 | 69,84 | 70,07 | 70,03 | 85,05
|
4 | 108,45 | 129,33 | 128,44 | 140,38 | 189,39
|
16 | 108,44 | 129,55 | 128,00 | 140,63 | 189,76
|
64 | 132,56 | 153,31 | 151,62 | 162,76 | 225,96
|
256 | 146,03 | 168,73 | 165,37 | 179,63 | 254,34
|
Workstation
|
1 | 78,71 | 79,30 | 80,03 | 79,54 | 97,23
|
4 | 118,67 | 138,14 | 137,55 | 147,76 | 199,86
|
16 | 118,24 | 137,81 | 137,35 | 148,18 | 199,60
|
64 | 143,88 | 162,17 | 160,79 | 170,10 | 233,55
|
256 | 158,79 | 179,73 | 177,43 | 189,96 | 262,46
|
Database
|
1 | 70,78 | 71,64 | 72,31 | 72,06 | 93,07
|
4 | 104,74 | 120,98 | 118,39 | 128,00 | 188,57
|
16 | 104,96 | 120,79 | 118,68 | 127,66 | 189,05
|
64 | 124,79 | 139,95 | 136,37 | 146,42 | 214,14
|
256 | 136,59 | 148,40 | 143,95 | 154,39 | 244,07
|
RandomRead
|
1 | 69,75 | 69,79 | 70,02 | 69,82 | 79,56
|
4 | 129,22 | 161,62 | 161,13 | 181,94 | 212,60
|
16 | 129,39 | 161,08 | 161,52 | 182,02 | 213,18
|
64 | 181,87 | 221,06 | 220,20 | 241,40 | 278,45
|
256 | 207,71 | 252,80 | 252,89 | 277,20 | 318,62
|
SequentialRead
|
1 | 75,49 | 77,35 | 77,30 | 77,00 | 78,33
|
4 | 77,26 | 78,42 | 78,42 | 78,03 | 79,51
|
16 | 77,26 | 78,43 | 78,42 | 78,03 | 79,51
|
64 | 77,24 | 78,42 | 78,41 | 78,04 | 79,51
|
256 | 76,91 | 78,11 | 78,11 | 77,76 | 79,19
|
RandomWrite
|
1 | 66,30 | 65,97 | 68,00 | 65,12 | 160,29
|
4 | 66,14 | 65,59 | 67,80 | 64,97 | 161,43
|
16 | 65,99 | 65,75 | 67,77 | 64,89 | 162,06
|
64 | 88,08 | 86,10 | 89,17 | 85,87 | 167,81
|
256 | 104,17 | 98,94 | 106,97 | 100,89 | 221,39
|
SequentialWrite
|
1 | 35,33 | 38,46 | 35,33 | 38,45 | 45,56
|
4 | 35,68 | 38,82 | 35,67 | 38,80 | 46,39
|
16 | 35,68 | 38,84 | 35,68 | 38,82 | 46,39
|
64 | 35,68 | 38,83 | 35,67 | 38,80 | 46,40
|
256 | 35,18 | 38,02 | 35,17 | 38,01 | 46,11
|
В RAID5 контроллер быстрее, чем в RAID3, но ещё быстрее он работает в RAID 01. :)
Сравним контроллер UltraTRAK100 TX4 с двумя его собратьями производства Promise - контроллером FastTRAK100 TX4 и SuperTRAK100 SX6000.
Начнём мы сравнение с RAID 0:
Контроллер FastTRAK100 TX4 немного обогнал оба контроллера с бортовым процессором, а контроллер SX6000 за счёт более быстрого процессора лучше масштабируется.
При увеличении глубины очереди команд картина резко меняется. При работе с одиночным винчестером контроллер FastTRAK100 TX4 явно быстрее, но зато он не увеличивает скорость при увеличении количества винчестеров! По всей видимости, драйвер FastTRAK100 TX4 не может или не умеет сортировать запросы (бережёт процессорное время?).
Контроллер UltraTRAK100 TX4 плавно отстаёт от SX6000 сообразно соотношению тактовых частот их i960 процессоров.
Увеличение глубины очереди команд до 256 ничего не меняет в соотношении сил между контроллерами.
Забавно, но при глубине очереди в один исходящий запрос UltraTRAK100 TX4 оказался быстрее, чем SuperTRAK SX6000!
Но при увеличении нагрузки, SX6000 вновь вырывается вперёд.
И в этом паттерне при queue=1 контроллер UltraTRAK100 TX4 оказался чуть быстрее SX6000! Правда, SX6000 догоняет (и обгоняет) его при увеличении количества винчестеров в массиве.
До двухвинчестерной конфигурации UltraTRAK100 TX4 ещё пытается конкурировать с SX6000, но затем (на массивах из трёх и четырёх винчестеров) уступает ему.
А здесь отставание UltraTRAK от SuperTRAK начинается уже на массиве из двух винчестеров.
А в этом паттерне результаты UltraTRAK100 TX4 почти так же хороши, как у FastTRAK100 TX4. Почему "почти"? Да потому что при четырёхвинчестерной конфигурации скорость UltraTRAK100 TX4 резко падает. :(
Мы уже ранее могли наблюдать такие внезапные провалы в производительности у SX6000, но они случались на 6-ти винчестерной конфигурации. Если предположить, что причина этих провалов в недостаточной скорости или нестабильности работы фирмваре контроллера, то вполне может быть, что у UltraTRAK100 TX4 из-за его менее мощного i960-процессора граница нестабильной работы отодвинулась на планку в 4 винчестера.
Как бы то ни было, при 16-ти исходящих запросах проблема исчезает.
И вновь проявляется при увеличении глубины очереди запросов до 256-ти...
При случайном чтении контроллеры распределились очень любопытно (но предсказуемо):
- контроллер, который не думает, а сразу выполняет;
- контроллер, который думает, но быстро;
- контроллер, который думает, но медленно.
При увеличении глубины очереди запросов картина резко меняется. Контроллер FastTRAK100 TX4, который был весьма неплох при queue=1, резко сдал, и, что самое интересное, его скорость при увеличении количества дисков в массиве не растёт, а падает!
Контроллеры же с бортовым процессором показывают рост производительности, но посмотрите, насколько UltraTRAK100 отстаёт от SuperTRAK100!
Как ни странно, но при дальнейшем увеличении нагрузки, отставание UltraTRAK100 от SuperTRAK100 сокращается.
Паттерны SequentialWrite и SequentialRead представлены графиками только при одном значении нагрузки, так как характер графиков от увеличения глубины очереди команд не изменяется.
Как видим, подавляющее преимущество показывает контроллер FastTRAK100 TX4, а RAID-контроллеры с бортовым процессором безнадёжно отстают от него.
При последовательном чтении контроллеры ведут себя ещё загадочнее. Лидером вновь становится FastTRAK100 TX4 (и здесь подвоха нет), но SX6000 отстаёт от него не намного! И это при том, что при последовательной записи SX6000 выглядел довольно бледно...
Судя по всему, фирмваре контроллера при чтении таки сумело отличить последовательные запросы от cлучайных и не стало их кешировать.
Но ещё более любопытно повёл себя UltraTRAK100 - он как будто упёрся в какое-то ограничение архитектуры (медленный кэш или низкая скорость процессора). Как и в тесте Winbench потолок скорости контроллера UltraTRAK100 TX4 составил ~20МБ/сек.
С RAID 0 разобрались, RAID 3 и RAID 5 рассматривать не будем (очевидно, что UltraTRAK100 медленнее, чем SuperTRAK100 SX6000), остаётся сравнить скорость контроллеров в RAID 01:
Сравнение контроллеров в RAID01
| FastTRAK100 TX4/33 | FastTRAK100 TX4/66 | SuperTRAK100 SX6000 | UltraTRAK100 TX4
|
---|
Fileserver
|
1 | 90,45 | 90,95 | 83,95 | 85,05
|
4 | 91,14 | 92,27 | 183,37 | 189,39
|
16 | 105,25 | 107,53 | 218,08 | 189,76
|
64 | 122,70 | 126,66 | 254,15 | 225,96
|
256 | 136,33 | 143,43 | 313,92 | 254,34
|
Workstation
|
1 | 103,03 | 104,28 | 90,60 | 97,23
|
4 | 103,45 | 105,31 | 188,16 | 199,86
|
16 | 117,54 | 120,00 | 223,99 | 199,60
|
64 | 138,22 | 141,32 | 254,95 | 233,55
|
256 | 153,42 | 159,53 | 317,67 | 262,46
|
Database
|
1 | 92,65 | 93,74 | 85,61 | 93,07
|
4 | 93,55 | 95,32 | 172,36 | 188,57
|
16 | 111,97 | 112,84 | 198,44 | 189,05
|
64 | 131,21 | 134,01 | 236,30 | 214,14
|
256 | 147,36 | 151,78 | 294,50 | 244,07
|
RandomWrite
|
1 | 163,09 | 165,12 | 126,39 | 160,29
|
4 | 164,61 | 165,32 | 126,29 | 161,43
|
16 | 165,91 | 166,43 | 126,38 | 162,06
|
64 | 179,43 | 181,60 | 165,33 | 167,81
|
256 | 222,44 | 230,73 | 204,42 | 221,39
|
SequentialWrite
|
1 | 99,52 | 159,32 | 47,15 | 45,56
|
4 | 100,29 | 159,93 | 47,20 | 46,39
|
16 | 100,22 | 159,69 | 47,33 | 46,39
|
64 | 100,22 | 159,38 | 47,35 | 46,40
|
256 | 99,72 | 156,58 | 47,32 | 46,11
|
RandomRead
|
1 | 91,41 | 91,96 | 85,71 | 79,56
|
4 | 92,43 | 92,64 | 226,64 | 212,60
|
16 | 103,62 | 104,70 | 312,96 | 213,18
|
64 | 120,70 | 121,75 | 361,45 | 278,45
|
256 | 133,86 | 137,24 | 435,93 | 318,62
|
SequentialRead
|
1 | 221,80 | 224,39 | 199,26 | 78,33
|
4 | 220,10 | 225,26 | 225,79 | 79,51
|
16 | 221,93 | 225,38 | 226,39 | 79,51
|
64 | 222,51 | 225,48 | 226,42 | 79,51
|
256 | 219,86 | 222,96 | 225,50 | 79,19
|
В целом, расстановка сил не изменилась. Контроллер FastTRAK100 TX4, как правило, отрабатывает запросы чуть быстрее при малой глубине очереди команд. Очень хорошо контроллер FastTRAK100 TX4 справился и с Sequential-паттернами, причём в паттерне SequentialWrite мы можем наблюдать, как растёт скорость работы этого контроллера при его установке в PCI32/66МГц слот.
При небольшой глубине очереди команд очень неплохо выглядит и UltraTRAK100 TX4, он даже немного опережает SuperTRAK100 SX6000. А в паттерне RandomWrite контроллер UltraTRAK100 TX4 вообще выиграл у SuperTRAK100 SX6000 при всех вариантах нагрузки...
Но в остальных паттернах, при большой глубине очереди команд, контроллер SuperTRAK100 SX6000 опережает и FastTRAK100 TX4, и UltraTRAK TX4.
То обстоятельство, что UltraTRAK100 TX4, обладая более медленным RISC-процессором и более медленной кэш-памятью, чем контроллер SuperTRAK100 SX6000, тем не менее сумел опередить его в паттерне RandomWrite, чрезвычайно меня заинтересовало. Чтобы сравнить поведение контроллеров в RAID01 и RAID5 были проведены дополнительные тесты с 8КБ блоками и изменением соотношения операций чтения и записи.
На приведённых ниже графиках мы можем наблюдать зависимость скорости контроллеров в RAID 01 и RAID 5 от доли операций записи. По оси Y, таким образом, откладывется значение Total I/O (количество отработанных контроллером запросов), а по оси X - доля операций записи. В точке X=0 мы получаем паттерн RandomRead (количество операций записи=0, а количество операций чтения=100%), а в точке X=100 - паттерн RandomWrite.
Сравним между собой контроллеры при трёх вариантах нагрузки - 1,16 и 256 исходящих запросов:
Весьма показательная картина. Первое, что бросается в глаза - UltraTRAK100 TX4 при работе с RAID01-массивом оказался быстрее SuperTRAK100 SX6000 при доле операций записи, превышающей 20 процентов!
При работе с RAID5-массивом контроллер UltraTRAK100 TX4 чуть медленнее SuperTRAK100 SX6000 (оно и понятно, учитывая разницу в скоростях их XOR-процесстров), но при достижении 80%-ной доли операций записи от общего числа UltraTRAK100 TX4 выходит вперёд!
По всей видимости, фирмваре контроллера UltraTRAK100 имеет очень хорошие алгоритмы работы с отложенной записью, что и позволяет ему обойти своего более аппаратно совершенного собрата.
При увеличении глубины очереди команд контроллер SuperTRAK100 сумел "прибавить" чуть больше, чем UltraTRAK TX4. Теперь, контроллер SuperTRAK100 TX4 опережает UltraTRAK100 TX4 и в RAID01 и в RAID5 до той поры, пока доля операций записи не вырастает до 40 процентов. Далее контроллеры ведут себя ещё интереснее - если в RAID01 контроллер UltraTRAK100 TX4 выходит вперед, то в RAID5 результаты контроллеров становятся АБСОЛЮТНО одинаковыми!
Контроллеры явно прибавили в скорости, но в большей мере увеличением глубины очереди команд сумел воспользоваться SuperTRAK100 SX6000. Теперь он быстрее, чем UltraTRAK100 TX4 и в RAID01 и в RAID5 во всех режимах (исключение составил RandomWrite на RAID01, где UltraTRAK100 TX4 оказался чуть быстрее).
По результатам тестирования контроллера UltraTRAK100 TX4 в IOMeter можно сказать следущее:
- Контроллер оптимизирован для работы при малой нагрузке.
- Контроллер имеет хорошую оптимизацию для работы с запросами на запись.
- Контроллер значительно быстрее работает в RAID01, чем в RAID5 (впрочем, это можно сказать про все известные мне RAID-контроллеры)
- Контроллер показывает невысокие результаты при работе с последовательным запросами на чтение/запись.
Надёжность
Для проверки способности контроллера восстанавливать работоспособность массива при отказе одиночного диска были смоделированы аварийные ситуации в массивах уровней 1, 01, 3, 5 (для массивов уровней 01, 3, 5 количество дисков было выбрано равным четырём).
Запускался тест IOMeter, после нескольких минут работы теста одному из дисков отключалось питание, и он вместе с mobile-rack-ом извлекался из корзины. Через некоторое время, когда массив дисков начинал устойчиво работать в аварийном режиме, работа теста IOMeter прекращалась, диск устанавливался на своё место, и на него подавалось питание.
Замерялось время, прошедшее с этого момента до полного восстановления функциональности массива.
Время восстановления целостности массивов составило:
RAID1 – 15 минут
RAID01 – 18 минут
RAID3 – 48 минут
RAID5 – 53 минуты
Время восстановления массива под нагрузкой не измерялось.
Выводы
Контроллер Promise UltraTRAK100 TX4 представляет собой весьма интересное устройство, как с точки зрения использованных в нём технологий, так и с точки зрения возможных сфер его применения.
Так как контроллер работает с IDE-дисками, то в случае использования современных 120ГБ винчестеров мы можем получить внешний отказоустойчивый дисковый массив с беспрецедентно низкой стоимостью хранения 1ГБ данных (массив такой же ёмкости, созданный из SCSI-винчестеров обойдётся нам, как минимум, вчетверо дороже).
Да, этот контроллер не показал высочайшую скорость, но, насколько я понимаю, Promise и не собиралась делать из него рекордсмена. Судя по всему, основной упор Promise сделала на простоту подключения, настройки и использования контроллера, то есть компания постаралась сделать RAID-технологии максимально близкими к простым пользователям. Действительно, с подключением и настройкой UltraTRAK100 TX4 может справиться любой "необученный академик". :)
Попробуем перечислить все найденные плюсы и минусы контроллера.
Плюсы:
"дружелюбный" внешний вид и надёжное внутреннее устройство
простота в подключении (не нужны драйвера, стандартный Ultra2 SCSI-разъём)
простота настройки и использования
поддержка HotSwap и HotSpare.
использование недорогих IDE-винчестеров
лёгкость масштабирования дисковой подсистемы на UltraTRAK100 TX4 (каждый контроллер может быть "кирпичиком" для построения большой системы).
Минусы:
"слабость" внутренней электроники
невысокая скорость контроллера при последовательной записи
несколько завышенная цена контроллера
Хотел было я назвать недостатком контроллера форму его верхней крышки - она выпуклая и это не позволяет "водрузить" один контроллер на другой, но потом я вспомнил, что контроллер имеет скорее "настольную" ориентацию, чем "напольную", и не стал его за это ругать... Действительно, такую красоту - и на пол? Ни за что! :)
Итого: Контроллер UltraTRAK100 TX4 представляет собой идеальное решение для создания файлового архива в небольших учреждениях или корпоративного бекапа.
Благодарим компанию
ТелеСервисМС за предоставленный на тестирование контроллер Promise UltraTRAK100 TX4.