Тестирование производительности RAID-контроллеров Adaptec и Avago. Новые многопортовые SAS-контроллеры Avago.
18.01.16
Жесткая конкуренция на рынке SAS RAID и HBA контроллеров между Adaptec и LSI* имеет долгую историю. Как и в последнем обзоре продуктовых линеек SAS RAID и HBA, в данной статье будут рассматриваться контроллеры только этих вендоров по причине слабой представленности на российском рынке продукции ATTO и Areca. Основной целью всех сравнений и замеров производительности будет попытка найти «самый быстрый» контроллер.
*Некоторое время назад Adaptec и LSI были поглощены компаниями PMC-Sierra и Avago соответственно. Контроллеры выходят под марками Adaptec by PMC и Avago.За последние несколько лет обе компании успели представить множество нововведений в своих продуктах:
Технология суперконденсаторной защиты кэша. Вместо использования литиевой батареи, которая обеспечивает резервное питание кэша контроллера в течение ограниченного времени и требует периодической замены, используется копирование содержимого кэш-памяти на флеш. Питание обеспечивается лишь на время копирования при помощи батареи суперконденсаторов (ионисторов), имеющих гораздо больший ресурс в сравнении с литий-ионными аккумуляторами.
Суперконденсаторная защита появилась у конкурентов практически одновременно: Adaptec Zero Maintenance Cache Protection (ZMCP) и LSI CacheVault. В настоящее время отказ от традиционных BBU-модулей в пользу суперконденсаторной защиты можно считать состоявшимся: контроллеры Adaptec трёх последних поколений (6, 7 и 8) используют только ZMCP, у LSI (теперь — Avago) сохраняется выбор между BBU и CacheVault для SAS2-контроллеров второго поколения (9271/9286), но они постепенно вытесняются контроллерами SAS3 (9361/9380).
-
SSD-кэш. Поддержка использования SSD в качестве кэша при работе с массивами из обычных HDD появилась для контроллеров Adaptec 5-й серии в 2009 году на фоне роста популярности Solaris с ZFS. Решение под названием Adaptec MaxIQ (позднее переименован в MaxCache) позволяло использовать массив из SSD для кэширования операций чтения. Чуть позже LSI анонсировал собственное решение под названием CacheCade. С тех пор технологии SSD-кэширования совершенствовались: появилась поддержка кэширования записи, совершенствовались алгоритмы, со временем Adaptec даже разработал собственное решение для ярусного хранения (maxCache Plus), а LSI выпустил серию контроллеров Nytro MegaRAID с размещением SSD непосредственно на плате контроллера. Но SSD прогрессировали слишком быстро — цены падали, объем и производительность росли, так что Adaptec отказался от maxCache Plus, LSI свернул линейку Nytro MegaRAID и сейчас оба вендора сомневаются в необходимости дальнейшего развития решений по аппаратной поддержке кэширования.
Многопортовые контроллеры. До появления Adaptec 7-й серии все RoC (RAID-on-Chip) для SAS-контроллеров архитектурно были 8-портовыми. Модели на 12, 16 и 24 порта получались путём размещения SAS-экспандера на одной плате с контроллером. Такое решение ухудшало совместимость с дисками, увеличивало габариты контроллеров (платы полной можно установить не во все корпуса) и стоимость.
Через некоторое время большое распространение получили корпуса, имеющие бэкплейны со встроенными SAS-экспандерами, и SAS-экспандеры в виде отдельных плат (например, знаменитый Intel RES2SV240). Многопортовые контроллеры на некоторое время были забыты: Adaptec 6-й серии, LSI последних поколений имеют максимум 8 портов.
О необходимости иметь 16 или даже 24 SAS линии непосредственно в RoC вспомнили в Adaptec. Появление PCI-E 3.0, и рост производительности самого контроллера привели к тому, что узким местом могли стать 8 линий SAS2, практическая пропускная способность которых составляет 4,4 ГиБ/с. Так появились 8/16/24-портовые контроллеры Adaptec 7-й серии, которым удалось обогнать конкурента в производительности, взяв реванш за менее удачную 6 серию — более мощный RoC позволил в полной мере использовать использовать большее количество портов.
Появление SAS3 с вдвое большей пропускной способностью, казалось, бы вновь должно было привести к снижению актуальности многопортовых контроллеров, но инженеры Adaptec посчитали нужным сделать новый SAS3 контроллер 8-й серии с 16 линиями SAS. SAS3 RAID контроллеры LSI до недавнего времени оставались 8-портовыми. Поддержка технологии DataBolt, обеспечивающей работу с экспандером на скоростях SAS3 даже при подключении SAS2 и SATA устройств, позволяла не терять пропускную способность. 16-портовые HBA всё же появились, но представляют собой платы полной высоты с двумя чипами и дополнительным разъёмом питания. Следующий виток конкурентной борьбы в виде новых 16/24-портовых контроллеров RAID и HBA от Avago/LSI мы рассмотрим в данном обзоре.
Avago Intruder
Intruder — кодовое название линейки новых SAS3 RAID-контроллеров от Avago. В настоящий момент анонсированы модели 9361-16i (16 внутренних портов) и 9380-8i8e (8 внутренних + 8 внешних). Оба контроллера выполнены в форм-факторе Low Profile MD2, имеют 2 ГБ кэш-памяти.
Большой радиатор, закрывающий почти всю поверхность платы, не оставил места для привычного решения со съёмным модулем защиты кэша. Поэтому компоненты модуля распаяны на основной плате, остаётся лишь докупить суперконденсаторную батарею.
Avago Cutlass
Сейчас в ассортименте Avago уже есть 16-портовый SAS3 HBA — 9300-16e. Но это модель с внешними портами, и не без недостатков, связанных с использованием двух чипов SAS3008: цена, габариты (полная высота) и потребляемая мощность в 26,8 Вт, требующая подключения внешнего питания. Новая линейка состоит из трёх моделей:
- 9305-24i — 24 внутренних порта
- 9305-16e — 16 внешних портов
- 9305-16i — 16 внутренних портов
Производительность
Цель тестирования — выяснить пределы производительности контроллеров при доступе блоками 4 КиБ в RAID-0, при последовательном доступе на чтение в RAID-0 и при последовательном доступе на запись в RAID-6.
Условия тестирования
Платформа:- Процессор Intel Xeon E5-2690 v3 (12 ядер, 2,6 ГГц)
- Материнская плата Supermicro X10SRi-F
- 64ГБ памяти (8x 8 ГБ DDR4 RDIMM)
- Корпус Supermicro 216BE1C (24 отсека 2,5", SAS3 экспандер LSI SAS3x40)
- 12 SSD HGST SSD1600MM (HUSMM1680ASS204)
- Microsoft Windows Server 2012 R2 Standard
- Diskspd 2.0.15
- Adaptec 6805. Прошивка 19176. Драйвер 7.5.0.41013.
- Adaptec 7805. Прошивка 32084. Драйвер 7.5.0.41013.
- Adaptec 8805. Прошивка 32730. Драйвер 7.5.0.41013.
- Avago 9261-8i. Прошивка 12.15.0-0239 (MR 4.12P3). Драйвер 6.710.11.00.
- Avago 9266-8i. Прошивка 23.34.0-0005 (MR 5.14). Драйвер 6.710.11.00.
- Avago 9361-8i. Прошивка 24.12.0-0020 (MR 6.10). Драйвер 6.710.11.00.
- Avago 9361-16i. Прошивка 24.14.0-0005 (Alpha_11). Драйвер 6.710.11.00.
- Avago 9305-24i. Прошивка 0.250.37.00-IT. Драйвер V2.51.03 (P10).
Параметры массивов выставлялись в соответствии с рекомендациями вендоров для массивов из SSD:
- Adaptec: кэш на чтение выключен, кэш на запись выключен
- Avago/LSI: кэш на запись в режиме write-through, упреждающее чтение (read ahead) выключено, режим Direct IO
При проведении тестирования узким местом не являлись диски. Заявленные характеристики одного HGST SSD1600MM: 130 тыс. IOPS на чтение 4 КиБ блоками, 1100/765 МиБ/с на последовательное чтение/запись (на практике было получено 142 тыс. IOPS и 1007/742 МиБ/с).
Практическая пропускная способность SAS и PCI-E:
- PCI-E 2.0 x8: 3200 МиБ/с
- PCI-E 3.0 x8: 6400 МиБ/с
- SAS2 x8: 4400 МиБ/с
- SAS3 x8: 8800 МиБ/с
IOPS
Тестировалось максимальное количество операций ввода-вывода (IOPS), которое может обеспечить контроллер. Размер блока составлял 4 КиБ с выравниванием 4 КиБ, использовалось 24 потока с глубиной очереди 128 на каждый поток. Кэширование отключено (ключ -S).
Пропускная способность
Тестировалась скорость при последовательном доступе блоками 1 МиБ с глубиной очереди 32. Для чтения использовался массив RAID-0, для записи — RAID-6.
Полученные данные вполне соответствуют официально заявленным характеристикам. Но стоит отметить несколько особенностей:
- Лимит SAS3 контроллеров Avago на самом деле ещё выше. На отметке порядка 1,1 млн IOPS ограничивающим фактором стала нагрузка на процессор E5-2690 V3 — все ядра были загружены на 100%. К сожалению, времени на пересборку стенда и повторение тестов не было. В документе «Avago 6Gb/s SAS and 12Gb/s SAS Performance Tuning Guide» Avago заявляет о лимите для чипа SAS3108 в 653000 IOPS с дисками SATA и 1,43 млн. IOPS — c дисками SAS.
- Контроллер 9261-8i тестировался с демо-ключом FastPath. Этот ключ активирует оптимизацию работы с SSD, и без него лимит будет на уровне 40-50 тыс. IOPS, т. е. на уровне Adaptec 6-й серии. Контроллеры на чипе 2108 (9260/61) всё еще производятся и продаются, но стоимость ключа делает их покупку в случае использования с SSD бессмысленной — производительность контроллеров следующих поколений на чипах 2208 (9266/71/85/86) и 3108 (9361/80) выше в несколько раз, а FastPath на них не требует отдельной покупки и активации. Лимит в 143000 IOPS стоит учитывать при апгрейде существующих серверов.
- В качестве контроллера SAS2 RAID второго поколения от LSI использовался 9266-8i вместо современной модели 9271-8i. Последний отличается поддержкой интерфейса PCI-E 3.0 вместо 2.0, что оказало влияние на предел при последовательном доступе — 9271-8i может обеспечить до 3400 МиБ/с на чтение.
- Существует два теста, проведённых и опубликованных Adaptec. В первом из них сравнивается производительность Adaptec 72405 с неким «конкурирующим 8-портовым контроллером» (судя по цифрам и упоминанию I/O acceleration software этим контроллером был LSI 9271-8i). Использовались SATA SSD OCZ Deneva R и SAS HDD, Adaptec 72405 подключался напрямую, а LSI 9271-8i — через 2-экспандерный SAS2 бэкплейн. Результат получился вполне закономерным: за счет использования более производительного RoC и отсутствия ограничения в виде 8-ми линий SAS2 контроллеру Adaptec 7-й серии удалось обойти флагман LSI.
Ситуация изменилась с появлением контроллеров SAS3 от LSI. Они по-прежнему остались максимум 8-портовыми, но удвоенная пропускная способность интерфейса и рост производительности RoC компенсировали это. Ответом стала 8-я серия Adaptec — 4/8/16 портов и поддержка SAS3. Сравнение производительности Adaptec 81605ZQ и LSI 9361-8i можно увидеть во втором отчёте от Adaptec. Но на этот раз условия получились не совсем равными. Использовались те же дисковые полки с экспандерами SAS2, т.е. 16-портовый Adaptec получил закономерное преимущество из-за большего количества портов, но LSI был лишён высокой пропускной способности SAS3.
В нашем тесте всё наоборот — контроллеры Adaptec оказались в невыгодном положении, т.к. тестировались только 8-портовые модели. Результаты 16 и 24-портовых моделей при подключении дисков (одиночных дисков или дисковых полок) ко всем портам будут выше.
- Как наш тест, так и отчёт Adaptec показывают, что высокий результат Avago/LSI в миллион с лишним IOPS недостижим с SATA SSD. Причина кроется в архитектуре SATA (меньшая глубина очереди) и в особенностях работы SATA дисков с экспандерами. Тест Adaptec показал лимит в 542 тыс. IOPS для 9361-8i и 24 SSD OCZ Deneva R. В нашем случае удалось получить 448 тыс. IOPS для контроллеров 9361-8i и 9361-16i при подключении 24 SSD Kingston KC300, E50 и E100 (каждый из SSD мог обеспечить не менее 30 тыс. IOPS на чтение).
Тест HBA Avago 9305-24i
Новые многопортовые HBA Avago только анонсированы и ещё не поступили в продажу, но Adaptec успел с аналогичной линейкой чуть раньше. HBA Adaptec серии 1000 были анонсированы в декабре, но, к сожалению, в нашем распоряжении их ещё не было. На тестовом образце 9305-24i удалось получить 1,227 млн. IOPS на чтение блоками 4 КиБ (при этом, как и в случае с RAID-контроллерами 9361 не хватило производительности центрального процессора) и 6255 МиБ/с при последовательном доступе блоками 1 МиБ. Заявленные Adaptec лимиты производительности (1,3 млн. IOPS и 6600 МБ/с) для своих HBA незначительно выше.
Заключение
Что же выбрать, контроллер Avago или Adaptec? Кажется, что результаты данного теста дают однозначный ответ на этот вопрос, ведь Avago на данный момент лидирует по производительности (лимит в миллион с лишним IOPS!). Но стоит вспомнить, что это результаты синтетических тестов имеют лишь косвенное отношение к реальным сценариям. Все эти сотни тысяч IOPS должно генерировать ваше приложение, их должны обеспечить ваши диски (быстрые SSD с интерфейсом SAS стоят недешево), и не забывайте про нагрузку на процессор и ограничения контроллеров Ethernet и Fibre Channel (например, 200 тыс. IOPS на порт для 8 Гбит FC HBA Qlogic).
В итоге паритет по-прежнему сохраняется, и контроллеры одного поколения можно выбирать исходя из наличия опыта работы со средствами управления и мониторинга того или иного вендора. Новые линейки многопортовых RAID и HBA получились у Avago весьма удачными: до 24-х портов в низкопрофильном форм-факторе, отличная производительность, совместимость на уровне драйверов и средств управления с предыдущими продуктами.