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

Пост опубликован в блогах iXBT.com, его автор не имеет отношения к редакции iXBT.com

Когда сегодня заходит речь о производительности системы хранения обычно разговор сразу переходит на современные накопители 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 на том же оборудовании.