HPE Smart Cache: а вы уже ускоряете?
Кэширование данных не является чем-то новым для дисковых подсистем серверов или систем хранения данных. Как известно — кэш — это промежуточное звено между данными и дисковой подсистемой. Учитывая, что SSD с быстрым доступом уже достаточно прочно вошли в нашу жизнь, использование All-Flash подсистем до сих пор доступно не всем по тем или иным причинам (в основном — экономическим, т.к. все теории о низкой надёжности SSD так и не получили каких-либо серьёзных подтверждений). Но желание ускорить быстродействие своей подсистемы хранения, организованной на классических HDD дисках всё же присутствует и является в наше время в большей степени необходимостью. Ввиду того, что размер кэша имеет немалое значение — увеличение его объёма пойдёт только на пользу для высоконагруженных систем. Здесь-то нам на помощь и приходит SSD кэш. Практически все производители RAID-контроллеров, уже представили модели контроллеров, которые поддерживают кэширование на SSD, а сегодня, мы посмотрим на то, как это было реализовано компанией HPE на базе её контроллера HPE Smart Array P440ar.
И так, в качестве подопытной системы у меня в руках находится HPE ProLiant DL380 Gen9 в следующей конфигурации:
Процессор — Intel Xeon Processor E5-2643 v3 x2
Память — 8Gb x4
HDD — 600GB SAS 15K x4
SSD — Intel S3700 400Gb
Жёсткие диски были собраны в Raid10, а тестирование проводилось, соответственно, в двух вариантах — с включением HPE Smart Cache и без него (с использованием кэша контроллера, 2Gb).
Думаю что с накопителем Intel S3700 те, кто интересовался этой тематикой, уже давно знакомы. Вышел он уже сравнительно давно и крайне положительно себя зарекомендовал. Сама компания относит их к наивысшему классу — High Endurance и по факту рекомендует их использоваться для высоконагруженных задач типа OLTP, VDI, Big Data, а для кэширования данных менее дорогие — Value Endurance, но, как говорится — что имеем. Хуже, во всяком случае, от этого точно не будет, но для конечных потребителей, это, естественно, увеличит стоимость конфигурации. В любом случае — вы вольны использовать абсолютно любые SSD диски, компания HPE даёт рекомендацию лишь по их объёму — он должен составлять 5-10% от ёмкости вашего массива. Так же стоит оговориться что не все контроллеры поддерживают HPE Smart Cache и младшие модели контроллеров лишены это возможности. Так же Smart Cache будет работать только на серверах 8 и 9 поколений, т.е. повысить производительность дисковой подсистемы старых серверов — не получится, а жаль.
HPE Smart Cache в нынешней реализации позволяет кэшировать как операции чтение, так и на запись, поэтому не имеет каких-то ограничений и может использоваться для любых приложений, которые занимаются обменом информации с дисковой подсистемой.
И так, перейдём к цифрам. Ввиду крайне ограниченного времени на проведение тестов — они будет не столь обширны, как обычно, и мой любимый тест при помощи fio пришлось так же исключить из вечерней программы.
AS SSD Benchmark
Как мы видим, скорость последовательного чтения выросла на порядок, но запись блоками 4k в 64 потока заметно снизилась. За счёт более низкой скорости записи мы и получили более низкую итоговую оценку в тесте, несмотря на скорость чтения.
CrystalDiskMark
В данном тесте картина несколько изменилась. И если последовательное чтение/запись с кэшем выглядит несколько хуже, то результаты рандомных операций с блоком 4k при использовании кэша выигрывают на несколько порядков.
iometer
Для этого теста был выбран наиболее «сложный» и ресурсоёмкий тест — База данных.
Конфигурация теста:
Disk Size — 209 715 200 (100Gb)
# of Outstanding IOs — 256
С Database patter можно ознакомиться вот здесь http://docs.aboutnetapp.ru/iometer2.icf
В ситуации, максимально приближённой к боевой, мы можем видеть преимущество использования кэша по всем показателям, как на чтение, так и на запись. При этом время отклика также на порядок ниже, что крайне важно для ресурсоёмких OLTP приложений.
Что касается «классификации» SSD кэша в иерархии ускорения производительности дисковой подсистемы. В принципе у нас существует для этого три способа. Первый, это тема нашего сегодняшнего материала — SSD кэш, второй — переход на All-flash, а третий, это так называемые IO акселераторы, о которых я уже в своё время рассказывал и тестировал — Huawei Tecal ES3000, Fusion-io ioDrive (которые под своим логотипом предлагает и компания HPE) и т.д. Данные устройства способны ещё сильнее увеличить скорость обработки ваших данных, но и стоимость этих решений будет на порядок выше, нежели использование кэша на SSD. Пожалуй, он является наиболее выгодным с точки зрения цена/производительность.
Подводя итог, можно сказать, что при необходимости увеличения производительности дисковой подсистемы сервера, с наименьшими затратами, использование SSD-кэша является вполне оправданным. При относительно невысокой стоимости данного решения (в стоимость решения входит сам SSD + лицензия на HPE Smart Cache для контроллера, а также стоит отметить, что если у вас в сервере установлено несколько RAID-контроллеров — лицензия приобретается для каждого из них отдельно), мы получаем значительный прирост быстродействия.