Тестируем массив из 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 на том же оборудовании.
35 комментариев
Добавить комментарий
Немного оффтоп. Не подскажите raid/hba до 8 портов из недорогого и желательно современного pci-e 3.0 — что бы IT прошивкой.
С другой — если надо побыстрее, а объемы важны не так — взять 4xm.2 to pci-e 16x и напихать в них 2tb nvme (тот же 970 evo).
Ну и между этими двумя крайностями есть очень широкое поле для маневра.
Ответ Kirill Kochetkov на комментарий
Тут я думаю смотря на что обращать внимание. На линейных операциях — согласен, а вот с более сложной нагрузкой 4 SATA SSD по идее должны побороться с nvme. Разница в цене правда (не считая контроллера) там начинается с двухкратной. Ну и SATA SSD берут объемом — пока что можно взять как минимум в 2 раза больше, да и размещать в корпусе их проще — nvme максимум что в плату (очень непростую на 7 16x разъемов влезет 28 таких накопителей, которые надо еще и охладить.
Ответ GalymOut на комментарий
Тем более рассматривается апгрейд дисковой системы на устаревшей и бытовой плате:
— вот и было бы интересно сравнение одного современного ССД на добавленном адаптере против Райд-адаптера с 4 дешёвыми ССД!
Первый. Вы задали глубину очереди 32, то есть на один накопитель приходится 8 одновременных запросов в среднем. Этого может быть недостаточно, поскольку накопитель может иметь 10-14 каналов контроллера.
Второй. Одного воркера недостаточно. Попробуйте, например, 4.
Мой опыт говорит о том, что кратный рост производительности на случайных операциях по мере увеличении числа дисков в массиве SSD наблюдается до достижения предела производительности контроллера — от 1M до 1.5M IOPS.
Добавить комментарий