Кэширование данных не является чем-то новым для дисковых подсистем серверов или систем хранения данных. Как известно, кэш — это промежуточное звено между данными и дисковой подсистемой. Учитывая, что SSD с быстрым доступом уже достаточно прочно вошли в нашу жизнь, использование All-Flash подсистем до сих пор доступно не всем по тем или иным причинам (в основном — экономическим, т.к. все теории о низкой надёжности SSD так и не получили каких-либо серьёзных подтверждений). Но желание ускорить быстродействие своей подсистемы хранения, организованной на классических HDD дисках всё же присутствует и является в наше время в большей степени необходимостью. Ввиду того, что размер кэша имеет немалое значение — увеличение его объёма пойдёт только на пользу для высоконагруженных систем. Здесь-то нам на помощь и приходит SSD кэш.
Практически все производители RAID-контроллеров, уже представили модели контроллеров, которые поддерживают кэширование на SSD, а сегодня, мы посмотрим на то, как это было реализовано компанией HPE на базе её контроллера HPE Smart Array P440ar.
И так, в качестве подопытной системы у меня в руках находится HPE ProLiant DL380 Gen9 в следующей конфигурации:
Жёсткие диски были собраны в 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 в нынешней реализации позволяет кэшировать как операции чтение, так и на запись, поэтому не имеет каких-то ограничений и может использоваться для любых приложений, которые занимаются обменом информации с дисковой подсистемой.
И так, перейдём к цифрам. Ввиду крайне ограниченного времени на проведение тестов — они будет ограничены использование только iometer.
![](https://habrastorage.org/r/w1560/files/27f/a7c/476/27fa7c4767eb413eae106ca2a3f333b3.png)
![](https://habrastorage.org/r/w1560/files/ea3/534/df4/ea3534df4f2c4a6b81e20d8a0c4c0520.png)
Для этого теста был выбран наиболее «сложный» и ресурсоёмкий тест — База данных. Конфигурация теста:
В ситуации, максимально приближённой к боевой, мы можем видеть преимущество использования кэша по всем показателям, как на чтение, так и на запись. При этом время отклика также на порядок ниже, что крайне важно для ресурсоёмких OLTP приложений.
Что касается «классификации» SSD кэша в иерархии ускорения производительности дисковой подсистемы. В принципе у нас существует для этого три способа. Первый, это тема нашего сегодняшнего материала — SSD кэш, второй — переход на All-flash, а третий, это так называемые IO акселераторы, о которых я уже в своё время рассказывал и тестировал — Huawei Tecal ES3000, Fusion-io ioDrive (которые под своим логотипом предлагает и компания HPE) и т.д. Данные устройства способны ещё сильнее увеличить скорость обработки ваших данных, но и стоимость этих решений будет на порядок выше, нежели использование кэша на SSD. Пожалуй, он является наиболее выгодным с точки зрения цена/производительность.
Подводя итог, можно сказать, что при необходимости увеличения производительности дисковой подсистемы сервера, с наименьшими затратами, использование SSD-кэша является вполне оправданным. При относительно невысокой стоимости данного решения (в стоимость решения входит сам SSD + лицензия на HPE Smart Cache для контроллера, а также стоит отметить, что если у вас в сервере установлено несколько RAID-контроллеров — лицензия приобретается для каждого из них отдельно), мы получаем значительный прирост быстродействия.
![](https://habrastorage.org/files/125/314/889/125314889a344b0180d4eaebeaf10077.jpg)
И так, в качестве подопытной системы у меня в руках находится 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 в нынешней реализации позволяет кэшировать как операции чтение, так и на запись, поэтому не имеет каких-то ограничений и может использоваться для любых приложений, которые занимаются обменом информации с дисковой подсистемой.
И так, перейдём к цифрам. Ввиду крайне ограниченного времени на проведение тестов — они будет ограничены использование только iometer.
![](https://habrastorage.org/files/27f/a7c/476/27fa7c4767eb413eae106ca2a3f333b3.png)
![](https://habrastorage.org/files/ea3/534/df4/ea3534df4f2c4a6b81e20d8a0c4c0520.png)
Для этого теста был выбран наиболее «сложный» и ресурсоёмкий тест — База данных. Конфигурация теста:
Disk Size — 209 715 200 (100Gb)С Database patter можно ознакомиться вот здесь
# of Outstanding IOs — 256
В ситуации, максимально приближённой к боевой, мы можем видеть преимущество использования кэша по всем показателям, как на чтение, так и на запись. При этом время отклика также на порядок ниже, что крайне важно для ресурсоёмких OLTP приложений.
Что касается «классификации» SSD кэша в иерархии ускорения производительности дисковой подсистемы. В принципе у нас существует для этого три способа. Первый, это тема нашего сегодняшнего материала — SSD кэш, второй — переход на All-flash, а третий, это так называемые IO акселераторы, о которых я уже в своё время рассказывал и тестировал — Huawei Tecal ES3000, Fusion-io ioDrive (которые под своим логотипом предлагает и компания HPE) и т.д. Данные устройства способны ещё сильнее увеличить скорость обработки ваших данных, но и стоимость этих решений будет на порядок выше, нежели использование кэша на SSD. Пожалуй, он является наиболее выгодным с точки зрения цена/производительность.
Подводя итог, можно сказать, что при необходимости увеличения производительности дисковой подсистемы сервера, с наименьшими затратами, использование SSD-кэша является вполне оправданным. При относительно невысокой стоимости данного решения (в стоимость решения входит сам SSD + лицензия на HPE Smart Cache для контроллера, а также стоит отметить, что если у вас в сервере установлено несколько RAID-контроллеров — лицензия приобретается для каждого из них отдельно), мы получаем значительный прирост быстродействия.