Бюджетный RAID. Тестируем производительность.

  • Автор:

RAID-test.png

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Тестовый стенд

Как правило в организациях малого и среднего бизнеса на роль файловых серверов, серверов уровня отдела и т.п. используется обычный ПК, собранный из обычных, бюджетных, комплектующих. Целью нашего тестирования было изучение производительности дисковой подсистемы собранной с помощью RAID контроллера чипсета и его сравнение с программными реализациями RAID массивов (средствами ОС). Поводом для проведения тестирования стало отсутствие в широком доступе объективных тестов бюджетных RAID, а также большое количество "мифов и легенд" по этому вопросу. Мы специально не подбирали железо, а воспользовались тем, что было под рукой. А под рукой оказались несколько обычных ПК для очередного внедрения, один из которых был использован в качестве тестового стенда.

Конфигурация ПК:

  • Материнская плата: ASUS M4N68T-M SocketAM3 <nForce630a>
  • Процессор: CPU AMD ATHLON II X2 245 (ADX245O) 2.9 ГГц/ 2Мб/ 4000МГц Socket AM3
  • Оперативная память: 2 х Kingston ValueRAM <KVR1066D3N7/1G> DDR-III DIMM 1Gb <PC3-8500>
  • Жесткие диски: HDD 320 Gb SATA-II 300 Western Digital Caviar Blue <WD3200AAKS> 7200rpm 16Mb
  • Операционная система: Windows Server 2008 SP2 (32-bit)
  • Файловая система: NTFS

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

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

В качестве тестового ПО нами был выбран Intel NAS Performance Toolkit, данный пакет представляет набор тестов, позволяющий оценить производительность дисковой подсистемы на основных характерных задачах. Каждый тест выполнялся пять раз, конечный результат представляет среднее значение. За эталон мы взяли производительность одиночного жесткого диска.

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

Тестировались как аппаратные, так и программные реализации, первоначально мы еще замеряли среднюю загрузку ЦПУ, так как бытует мнение, что программный RAID сильно грузит процессор. Однако от включения данного замера в результаты тестов мы отказались, нагрузка на процессор оказалась приблизительно равна и составила около 37-40% для одиночного диска, RAID0, RAID1 и 40-45% для RAID5.

Файловые операции

Классическими операциями для любого накопителя являются операции чтения и записи. В Intel NASPT эти параметры оцениваются в четырех тестах: копирование на накопитель и обратно файла размером 247 Мб и 44 папок содержащих 2833 файла общим объемом 1,2 Гб.

RAID-test-1.png

Чтение / запись файлов

Если обратить внимание на результаты эталонного диска, то увидим, что скорость записи почти вдвое (на 89%) выше скорости чтения. Это связано с особенностями работы файловой системы и этот факт также следует учитывать. RAID0 (чередующийся массив), вне зависимости от способа реализации показал на 70% более высокую производительность, чем одиночный диск, в то время как скоростные параметры RAID1 (зеркало) полностью ему идентичны.

Отдельного разговора заслуживает RAID5, скорость записи на него неприемлемо низкая, замедление составляет до 70%, в то время как скорость чтения не уступает быстрому RAID0. Возможно это связано с недостатком вычислительных ресурсов и несовершенством алгоритмов, ведь при записи тратятся дополнительные ресурсы для вычисление контрольной суммы. При отказе одного из дисков скорость записи падает, у аппаратного решения спад менее выражен (15%), чем у программного (40%). Скорость чтения при этом падает значительно и соответствует скорости одиночного диска.

Чтение / запись папок

Каждый, кто пробовал скопировать россыпь мелких файлов, знает - лучше предварительно запаковать их в архив, так будет значительно быстрее. Наши тесты только подтверждают это эмпирическое правило, чтение россыпи мелких файлов и папок почти на 60% медленнее, чтения крупного файла, скорость записи также незначительно (10%) ниже.

RAID0 дает гораздо меньшее преимущество на операциях записи (30-40%), а на операциях чтения разницей вообще можно пренебречь. RAID1 ожидаемо не подносит нам никаких сюрпризов, идя один в один с одиночным диском.

RAID5 на мелких файлах показывает гораздо более лучший результат, но все равно продолжает уступать одиночному диску в среднем 35%. Скорость чтения ничем не отличается от остальных конфигураций, мы склонны считать, что в данном случае сдерживающим фактором является время произвольного доступа винчестера. А вот при изъятии из массива одного диска мы получили весьма неожиданный результат, который заставил нас его несколько раз перепроверить, в том числе и на другой модели винчестеров (500 Gb Seagate/Maxtor Barracuda 7200.12/DiamondMax 23 <3500418AS> 7200rpm 16Mb). Дело в том, что скорость записи аппаратного массива резко упала (почти в три раза), а скорость записи программного RAID5 наоборот выросла, возможно это связано с алгоритмом программной реализации массива. И все же мы предпочитаем оставить данный "феномен" без комментариев.

Работа с приложениями

Следующие тесты отражают производительность дисковой подсистемы при работе с различного рода приложениями, прежде всего офисными. Первый тест (Content Creation) отражает использование диска для хранения и работы с данными, пользователь создает, открывает, сохраняет документы не проявляя особой активности. Наиболее мощный тест - Office Productivity, он моделирует активную работу с документами, поиск информации в интернете (на накопитель сбрасывается кэш браузера), в общей сложности 616 файлов в 45 каталогах объемом 572 Мб. Последний тест - работа с фотоальбомом (преимущественно просмотр), более характерен для домашнего применения, включает в себя 1,2 Гб фото (169 файлов, 11 каталогов).

RAID-test-2.png

Работа с документами

При работе с одиночными файлами RAID0 вполне предсказуемо почти в два раза опережает RAID1 и одиночный жесткий диск (тест Content Creation), однако при активной работе теряет все свои преимущества, в тесте Office Productivity RAID0, RAID1 и одиночный диск показывают одинаковые результаты.

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

Работа с фотографиями

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

Мультимедиа

Ну и напоследок мультимедийные тесты, которые мы разбили на две части: воспроизведение и запись. В первом случае с накопителя воспроизводится HD видео в один, два и четыре потока одновременно. Во втором производится запись и одновременная запись - воспроизведение двух файлов. Данный тест применим не только к видео, так как характеризует общие процессы линейной записи / чтения с дискового массива.

Воспроизведение

RAID-test-3.pngИсходя из результатов предыдущих резульатов можно сделать предположение, что RAID0 будет фаворитом данного теста. Так оно и есть, чередующийся массив показывает отличную производительность и нагрузочную способность, плавно снижая производительность при увеличении количества параллельных операций чтения. RAID1 и одиночный жесткий диск уже на втором потоке снижал скорость до своего минимума, повторяя данный результат и для 4 потоков. Кроме того, следует отметить, что программные реализации RAID показали себя в этом тесте как более производительные, особенно RAID0.

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

Запись

RAID-test-4.pngДля большей наглядности мы добавили на этот график скорость воспроизведения из предыдущего теста. RAID0, RAID1 и одиночный диск показывают на запись просто замечательные результаты. Безусловный лидер - RAID0, причем его софтверная версия опять заметно вырывается вперед. При одновременной записи /чтении скорость падает и примерно соответствует скорости воспроизведения.

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

Выводы

Тесты проведены, результаты разобраны, пора делать выводы. Для удобства мы объединили результаты в одну сводную диаграмму.

RAID-test-5.png

RAID0

Данный вид дискового массива уверенно лидирует при работе с крупными файлами и мультимедиа. В большинстве случаев позволяет достичь значительного преимущества (около 70%) по сравнению с одиночным диском, однако имеет один существенный недостаток - крайне низкую отказоустойчивость. При выходе из строя одного диска разрушается весь массив. При работе с офисными приложениями и фотографиями особых преимуществ не имеет.

Где можно применять RAID0? В первую очередь на рабочих станциях, которым по роду задач приходится работать с большими файлами, например, видеомонтаж. Если требуется отказоустойчивость можно применить RAID10 или RAID0+1 которые представляют чередующийся массив из двух зеркал или зеркало из чередующихся массивов, данные уровни RAID сочетают скоростные параметры RAID0 и надежность RAID1, из недостатков можно назвать существенные накладные расходы - для хранения используется только половина емкости дисков входящих в массив.

RAID1

Никаких скоростных преимуществ перед одиночным диском "зеркало" не имеет, основная задача этого массива - обеспечение отказоустойчивости. Рекомендуется к применению при работе с офисными файлами и мелкими файлами, т.е. на тех задачах где разница между более скоростными массивами не столь велика. Неплохо подойдет для работы с 1С:Предприятие 7.7 в файловом режиме, который по характеру работы с диском представляет нечто среднее между Office Productivity и Dir copy from / to NAS. Для более производительных задач не рекомендуется, здесь стоит обратить внимание на RAID10 и RAID0+1.

RAID5

Мы бы не рекомендовали применять этот вид массива в бюджетных системах, на операциях записи RAID5 значительно проигрывает даже одиночному жесткому диску. Единственная сфера, где его применение будет оправдано, это создание медиасерверов для хранения мультимедийных данных, основной режим которых - чтение. Здесь на первый план выходят такие параметры как высокая скорость чтения (на уровне RAID0) и меньшие накладные расходы на обеспечение отказоустойчивости (1/3 емкости массива), что дает неплохой выигрыш при создании хранилищ значительного объема. Однако следует помнить, что попытка записи на массив приводит к резкому снижению производительности, поэтому заливку новых данных на подобные медиасервера следует производить в часы наименьшей загруженности.

Аппаратный или программный?

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

Аппаратные RAID реализуются силами южного моста чипсета (либо отдельным контроллером) и требуют поддержки со стороны ОС, либо подгрузки драйверов на стадии установки. Этот же факт делает зачастую невозможным использование ряда дисковых и системных утилит использующих собственные загрузочные диски, если их загрузчик не имеет поддержки RAID контроллера, то ПО просто не увидит вашего массива.

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

Программный RAID поддерживается на уровне OC, поэтому во многом лишен этих недостатков, массив легко собирается и легко переносится между аппаратными платформами, в случае выхода из строя оборудования доступ к данным можно легко получить на другом ПК, имеющем совместимую версию Windows (младшие редакции не поддерживают динамических дисков).

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

Онлайн-курс по устройству компьютерных сетей
На углубленном курсе "Архитектура современных компьютерных сетей" вы с нуля научитесь работать с Wireshark и «под микроскопом» изучите работу сетевых протоколов. На протяжении курса надо будет выполнить более пятидесяти лабораторных работ в Wireshark.

Помогла статья? Поддержи автора и новые статьи будут выходить чаще:

Поддержи проект!

Или подпишись на наш Телеграм-канал: Подпишись на наш Telegram-канал



Loading Comments