Тестируем массив из SSD на RAID-контроллерах нескольких поколений

Когда сегодня заходит речь о производительности системы хранения обычно разговор сразу переходит на современные накопители SSD. При этом лидерами являются устройства с интерфейсом PCIe, способные обеспечить на последовательных операциях скорости на уровне нескольких гигабайт в секунду. Если же говорить о моделях с SATA, то здесь у быстрых устройств можно увидеть производительность до 600 МБ/с. На случайных операциях разница между этими классами тоже есть, но она уже менее заметна.

При этом продукты стандартного формата 2,5’’ с интерфейсом SATA имеют несколько преимуществ – они обычно дешевле, могут работать практически в любой системе нескольких последних поколений, из них удобно делать массивы для обеспечения большой емкости СХД (и/или повышения отказоустойчивости), их можно устанавливать в большом количестве в стандартные корпуса.

Использовать чипсетный RAID не очень интересно, так что в этот раз посмотрим, насколько хорошо аппаратные RAID-контроллеры могут работать в подобных конфигурациях. Заметим, что использованное оборудование преимущественно относится скорее к среднему массовому сегменту, чем к наиболее производительным продуктам. Все-таки на рынке уже есть контроллеры и накопители с интерфейсами SAS и PCIe, но это уже совсем другой ценовой уровень.

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

Конфигурация тестовой системы была следующей:

  • материнская плата Asus Z87-A

  • процессор Intel Core i7-4770

  • 32 ГБ оперативной памяти

  • отдельный SSD для операционной системы

  • Windows 10 Pro

В роли SSD-накопителей выступали четыре Samsung 850 EVO второго поколения по 1 ТБ. Отметим отдельно, что накопители перед этим отработали около семи месяцев в сервере с Linux и никогда не знали TRIM (и по время проведения данных тестов они этого тоже не узнали). При этом прошлая нагрузка была преимущественно на чтение. Объем проведенной записи не превышал двух емкостей диска. По всем параметрам накопители были в отличном состоянии.

Контроллеров удалось найти сразу пять – четыре модели от Adaptec/Microsemi и один от LSI/Broadcom (на фото попали не все):

  • Adaptec ASR-6805

  • Adaptec ASR-7805

  • Adaptec ASR-81605ZQ

  • AdaptecSmartRAID 3152-8i

  • LSI 9361-16i

Первый, конечно, уже морально устарел, однако по факту еще много где используется. Так что будет интересно посмотреть, насколько эффективно он сможет работать с новыми накопителями. Второй уже имеет 6 Гбит/с порты и работает на шине PCIe 3.0, так что вполне актуален. Третий представляет собой последнее поколение «классических» решений Adaptec и поддерживает 12 Гбит/с интерфейс для дисков SAS. Реализованную в данной модификации технологию maxCache в этой статье мы использовать не будем. SmartRAID был представлен в конце прошлого года и относится к актуальному поколению RAID-решений компании. К сожалению, он использует новую разметку и схему хранения конфигурации и поэтому не может быть использован для замены прошлых моделей с сохранением данных на дисковых томах. MegaRAID 9361-16i можно считать представителем актуальной линейки продуктов LSI для массивов с накопителями SATA и SAS.

SSD подключались через обычный бекплейн с раздельными каналами для каждого диска. От бекплейна к контроллеру шел один стандартный кабель SAS на четыре канала.

На контроллерах, если не указано обратное, были активированы кэши на чтение и на запись. Все контроллеры имели резервные батареи. Том создавался заново на каждом контроллере, хотя по факту серии 6-7-8 у Adaptec позволяют переносить его без потери данных «в любом направлении».

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

В качестве тестового пакета выступал уже очень немолодой, но все еще пользующийся популярностью IOMeter. Прежде всего, отметим, что опций по выбору конфигураций как массива, так и собственно теста слишком много. С этой стороны это хорошо – вы можете подобрать их исходя из требований своих приложений. С другой – это делает бессмысленно долгим их перебор в рамках одной статьи. Так что были выбраны шесть вариантов шаблонов – три (чтение, запись, 50% чтения и 50% запись) на последовательные операции блоками по 256 КБ (совпадающим с размером блока массива) и три на случайные операции с блоками 4 КБ (наиболее часто используемый размер). В первой группе будем ориентироваться на МБ/с, во второй – на IOPS. Во время тестов использовался один worker, в настройках указывалось для Outstanding I/O значение 32. Тесты проводились на неразмеченном «сыром» томе.

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

Для начала посмотрим на результаты одного SSD, полученные на встроенном в материнскую плату контроллере.

Итак, один диск показывает скорость линейного чтения около 400 МБ/с и линейной записи около 160 МБ/с. На случайных операциях получается примерно 95 000 IOPS на чтении и 7 500 IOPS на записи. Для «использованных» устройств это, пожалуй, неплохие результаты. Напомним, что если оценивать современные жесткие диски, то можно рассчитывать примерно на 150-250 МБ/с на линейных операциях и 100-200 IOPS на случайных.

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

Итак, на линейном чтении мы ожидаемо видим пропорциональный количеству дисков в массиве рост. Все контроллеры показывают около 1 600 МБ/с. А вот на записи и смешанной нагрузке уже можно что-то выбрать исходя из своих требований и возможностей. Даже немолодой Adaptec ASR-6805 смотрится не так уж и плохо в этом сценарии.

А вот случайные операции существенно меняют картину. Здесь уже играют роль возможности установленного на контроллерах процессора и можно увидеть существенные отличия. Старший контроллер Adaptec уже явный аутсайдер. Да и ASR-7805 тоже уже не может обеспечить существенного роста на случайном чтении и записи. Так что если важен именно такой сценарий — стоит смотреть на контроллеры последних поколений. Хотя и они способны только в два раза улучшить IOPS на чтении и записи при использовании четырех SSD. Отметим также, что на смешанной нагрузке заметно лучше других выступили Adaptec SmartRAID 3152-8i и LSI 9361-16i.

Посмотрим теперь, что будет если не использовать кэширование на контроллерах. Для модели Adaptec SmartRAID 3152-8i здесь используется специальный предусмотренный производителем режим SSD IO bypass.

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

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

Заметим, что были протестированы только «крайние» варианты — включение кэшей и на чтение на запись и полное отключение кэширования. В реальности у контроллеров есть независимые настройки на чтение и запись, так что конфигураций можно получить больше. Учитывая, что параметры массива можно менять и «на лету» без потери данных, можно самостоятельно подобрать оптимальный для сценария применения вариант. Кроме того, и сами контроллеры могут иметь множество опций «тонкой настройки», которые стоит хотя бы быстро просмотреть.

Подведем итоги. «Бытовые» SATA SSD при работе с RAID-контроллерами чувствуют себя достаточно хорошо. Для раскрытия их возможностей желательно использовать контроллеры последних поколений, способные обеспечить высокие IOPS на случайных операциях. При этом существенное влияние на результаты оказывают настройки тома на контроллере и очень желательно подбирать их исходя из потребностей задач, поскольку «сделать хорошо» одновременно для всех сценариев невозможно.

В качестве бонуса — результаты тестирования конфигурации RAID5 на контроллере Adaptec ASR-7805 на том же оборудовании.

+6 1 23856 34
Автор Kirill Kochetkov Рейтинг +4.84 Сила 11.18
Блог Платформа ПК 70 40 RSS

34 комментария

Guest_N
Однозначно в закладки (:
Если стенд еще доступен — сможете прогнать тесты с отключенным кэшем дисков?
Kirill Kochetkov
Прямо эту же конфигурацию собрать сложно. Да и контроллеров уже почти не осталось :( Но можно попробовать придумать что-то еще, если есть интерес.
Guest_N
Интерес сугубо на домашних SSD, т.к. за все время их жизни на рынке еще ни разу не пробовали собрать их в массив на дискретных контроллерах. (:
А с ентерпрайс ssd — не интересно, вот заявил производитель 10/20 kiops на запись/чтение — ну вот они вокруг этих значений они упорно и плавают.
Kirill Kochetkov
Да, есть такая «особенность», что обычно публикуют цифры на таких конфигурациях, которые редко кто по факту использовать будет. Но вот те же SAS SSD были бы интересны с точки зрения SAS 12 Гбит/с.
Guest_N
SAS SSD зверь на столько редкий, что погонять их еще ни разу не получилось. В основном берут HUS SS200/300 но парами и вне систем, т.е. пощупать их в работе не получается ни как.
Kirill Kochetkov
И чем так хороши SS200/SS300? Почему выбирают именно их и для каких задач?
Guest_N
До недавнего времени они единственные были или в наличии, или сразу под заказ без тягомотины со стороны Самсунга, где нужно указать конечника и ждать пару суток пока дадут цены и сроки. Но у нас и ассортимента кроме брендовых-то: Toshiba, Samsung, Micron да Hitachi. У Тошибы с кол-вом доступных моделей грустно, у Самсунга все по запросу, Микрон только в середине мая доступен стал. Вот и оставались только SS200/300. Берут под базы данных.
Yurius
Спасибо за обзор! Интересно было бы глянуть в IT режиме (или подключить к чипсетному контроллеру, но на вашей платформе можно в скорость DMI уперется) — это к вопросу нужны ли эти самые raid контроллеры вообще, особенно при работе с SSD, где они могут стать узким местом.
Kirill Kochetkov
Должен появиться HBA достаточно свежий. Можно будет попробовать. Все-таки использовать тот же 81605 в таком режиме несколько странно, хотя и возможно. И чем собирать RAID потом и под какой ОС?
Yurius
Тут чем проще будет протестировать. Мне бы было проще mdadm под linux. Вашу методику тестирования не знаю, п.э. сложно что-то рекомендовать.

Немного оффтоп. Не подскажите raid/hba до 8 портов из недорогого и желательно современного pci-e 3.0 — что бы IT прошивкой.
Kirill Kochetkov
Можно и mdadm. Правда по опыту тут может от процессора многое зависеть. Методика для Linux — fio на «сырых томах». Как в прошлой статье.
Последний раз редактировалось
Yurius
Ваш процессор не должен быть узким местом :)
Guest_N
Если матерь интеловская и из листа совместимости — RMS25KB080. На вторичке можно за 5т.р. найти.
Yurius
Слишком много «но», хотя спасибо :). Пока полез в профильную тему проверять свои навыки поиска в google — цена до 40$ меня в общем устравивает.
Последний раз редактировалось
Guest_N
на LSI2308 их множество, но там какой-то ключ по vendor-id, т.е. если оригинальная железка intel — будет работать только в своих платах, dell — только в своих платформах, hp / sm / Lenovo — аналогично. IT/IR шьется, BIOS/Web — шьется, а вот vendor ключик походу прошивается только единожды.
Yurius
Это будет сложно, у меня разного железа — есть sm, а есть «китай», и где завтра будет стоять контроллер — неизвестно. Пока смотрю на Dell H200 (9211-8i) — он и шьестся и недорого.
GalymOut
Обзор уникальный! Но работа этих ссд в райде не впечатляет. Рост относительно одиночного ссд всего в 2 раза на иопсах и 1,5 на записи. Вот комбинированный режим уже в 3,5 раза! Но это маловероятный или редкий сценарий.
Kirill Kochetkov
Сценарий определяется приложениями.
Что касается иопсов — вопрос к производителям контроллеров.
Последний раз редактировалось
GalymOut
Было бы интересно в качестве альтернативы использовать не RAID-адаптер + 4*850Evo, а PCI-E 3.0 x4 NVMe-адаптер + 1*960 Evo!
Kirill Kochetkov
Не очень понятно описание «альтернативы». NVMe в стандартный дисковый отсек не поставить (за разумные деньги).
Yurius
Я так понял, что GalymOut хотел видеть в качестве точки отсчета результаты 960-го Evo
Kirill Kochetkov
Ну странная точка. Это устройство совсем другого формата и назначения. Да и скорости его известны. Для модели на полтерабайта и очереди 32 — последовательные операции примерно 3000 МБ/с на чтение, 600 МБ/с на запись (вне кэша), случайные операции порядка 200 000 iops.
Последний раз редактировалось
Yurius
Тут вопрос практического применения результатов статьи. С одной стороны можно попробовать «занедорого» на raid/hba на 16 дисков накидать что-то типа Micron 1100 2TB даже в стандартный домашний корпус, используя переходник на 2х5.25 поставить 16 таких дисков, получив очень серьезную как по объему так и по скорости систему.

С другой — если надо побыстрее, а объемы важны не так — взять 4xm.2 to pci-e 16x и напихать в них 2tb nvme (тот же 970 evo).

Ну и между этими двумя крайностями есть очень широкое поле для маневра.
Kirill Kochetkov
Речь шла именно об универсальном-стандартном варианте с точки зрения формата. Никто не спорит, что PCIe «напрямую» будет гораздо интереснее по скорости. И вопрос был в том, насколько все будет плохо или хорошо если использовать аппаратный RAID и «обычные» SATA SSD.
И тест показал, что с использованным оборудованием RAID0 не даст преимущества в скорости перед правильными NVMe.
Последний раз редактировалось
Yurius

Ответ Kirill Kochetkov на комментарий
И тест показал, что с использованным оборудованием RAID0 не даст преимущества в скорости перед правильными NVMe.

Тут я думаю смотря на что обращать внимание. На линейных операциях — согласен, а вот с более сложной нагрузкой 4 SATA SSD по идее должны побороться с nvme. Разница в цене правда (не считая контроллера) там начинается с двухкратной. Ну и SATA SSD берут объемом — пока что можно взять как минимум в 2 раза больше, да и размещать в корпусе их проще — nvme максимум что в плату (очень непростую на 7 16x разъемов влезет 28 таких накопителей, которые надо еще и охладить.
Kirill Kochetkov
Да, именно что зависит от требований. Все-таки том на аппаратном контроллере — вполне понятная и универсальная история, не зависимая от материнской платы, ОС, драйверов и прочего ПО, в отличие от построения массива из NVMe.
GalymOut
Так я и указал что:

Ответ GalymOut на комментарий
PCI-E 3.0 x4 NVMe-адаптер


Тем более рассматривается апгрейд дисковой системы на устаревшей и бытовой плате:
материнская плата Asus Z87-A
— вот и было бы интересно сравнение одного современного ССД на добавленном адаптере против Райд-адаптера с 4 дешёвыми ССД!
Yurius
Подождите, вы думаете что подключение через raid контроллер 4-х SATA SSD — это просто для апгрейда дисковой на «устаревшей» плате? Статья не про то, а как аппаратный raid может «прокачать» ssd и том, что с этого можно получить. А то ведь диски можно было и напрямую к материнке зацепить, хотя зачем в обычной жизни на ПК может понадобится 4 SSD по 960Gb — не совсем понятно
Kirill Kochetkov
По скорости имхо (данный) NVMe будет существенно быстрее.
qm2k
Реквестую любой другой уровень RAID. Все-таки нулевой разумный админ будет использовать только разве что в составе другого массива или кластера, что делает сравнение еще более отдаленным от простых трудящихся.
Последний раз редактировалось
Kirill Kochetkov
Да, безусловно, использование RAID0 для важных данных сложно назвать разумным решением. Добавил два графика с RAID5. К сожалению, не на самом быстром контроллере. Если вопрос интересен, можно попробовать снова поискать более современные адаптеры (и заодно и SSD) и перетестировать.
qm2k
Думаю отвечу не только за себя, что конечно интересен. Причем именно сравнение контроллеров. К тем тестам что выше еще очень интересна перестройка массива при замене одного из накопителей — с какой скоростью выполняется и как влияет на работу.
DmitryKomandny
Два момента.
Первый. Вы задали глубину очереди 32, то есть на один накопитель приходится 8 одновременных запросов в среднем. Этого может быть недостаточно, поскольку накопитель может иметь 10-14 каналов контроллера.
Второй. Одного воркера недостаточно. Попробуйте, например, 4.
Мой опыт говорит о том, что кратный рост производительности на случайных операциях по мере увеличении числа дисков в массиве SSD наблюдается до достижения предела производительности контроллера — от 1M до 1.5M IOPS.

Добавить комментарий