Кэширование hdd на ssd. Пережеванные выкладки программиста

22.05.2019

Отличия дисковых подсистем SSD и HDD+SSD для виртуальных выделенных серверов, сравнение производительности.

Диски HDD+SSD-кэш

Принцип работы . Мы используем быстрые SSD-диски для кэширования запросов к медленным, но значительно более ёмким и недорогим HDD-дискам. В этом режиме каждое обращение к жесткому диску виртуальной машины проверяется на наличие в кэше, и при его наличии в кэше отдаётся оттуда, а не читается с медленного диска. Если же в кэше данные не найдены, то они читаются с HDD-диска и записываются в кэш.

Преимущества технологии HDD+SSD-кэш. Основной плюс технологии HDD+SSD-кэш в объеме предоставляемого дискового пространства. Также серверы на этой технологии дешевле, что немаловажно для размещения начинающих проектов, тестовых серверов и вспомогательных сервисов.

  • Бекапы данных
  • Объемные архивы с данными
  • Любые сервисы и сайты, для которых не критична скорость чтения/записи с дисков

Диски SSD

Принцип работы . SSD (Solid-state drive) - это накопитель, в котором, в отличие от обычных жестких дисков, нет движущихся элементов. Для хранения в SSD используется флеш-память. Простыми словами, это большая флешка.

Преимущества технологии SSD. Основное преимущество SSD-накопителей - это скорость работы. В отличие от обычного жесткого диска, отсутствуют временные затраты на позиционирование считывающих головок - увеличивается скорость доступа к данным. Согласно тестам, скорость чтения/записи на SSD превышает показатели обычных HDD в несколько раз.

Кому будет полезен VDS или VPS на SSD ?

  • Владельцам интернет магазинов: скорость работы с базами данных на SSD несоизмеримо выше, чем на HDD.
  • Владельцам других сайтов: страницы вашего сайта будут открываться значительно быстрее, что немаловажно для ранжирования в поисковых системах.
  • Для разработчиков: скорость компиляции кода на SSD-дисках выше, сэкономьте свое время.
  • Для игровых серверов: скорость загрузки увеличивается, не заставляйте игроков ждать.

Диски NVMe

Принцип работы . NVM Express (NVMe, NVMHCI, Non-Volatile Memory Host Controller Interface Specification) - обновленная версия SSD-диска. Использует собственный, разработанный с нуля, протокол взаимодействия, и подключается через порт PCI Express.

Преимущества технологии NVMe. Чтение-запись с дисками NVMe в 2-3 раза быстрее, чем с обычными SSD. Шина PCI Express не ограничивает скорость диска - этим обеспечивается прирост производительности. Кроме этого, на NVMe быстрее обрабатываются параллельные операции, больше операций чтения-записи проводится в единицу времени.

Когда заказывать виртуальный сервер с диском NVMe ?

  • В тех же случаях, что и SSD. Когда вашему проекту уже не хватает производительности SSD, либо планируете рост проекта и высокие нагрузки.

Сравниваем производительность

Мы сравнили производительность виртуальных машин на «боевых» физических серверах с различными дисковыми подсистемами.

Мы учитывали количество IOPS (количество операций ввода/вывода, Input/Output Operations Per Second) - это один из ключевых параметров при измерении производительности систем хранения данных, жестких дисков и твердотельных дисков (SSD).

Обратите внимание, что в работе сайтов чаще всего используются именно операции чтения данных, а не записи. Этот показатель SSD дисков в три раза выше, чем у технологии HDD+SSD-кэш.

Сравнение производительности технологий

  • Сравнение производительности различных типов серверных накопителей (HDD, SSD, SATA DOM, eUSB)
  • Сравнение производительности новейших серверных RAID-контроллеров Intel и Adaptec (24 SSD)
  • Сравнение производительности серверных RAID-контроллеров
  • Производительность дисковой подсистемы серверов Intel на базе Xeon E5-2600 и Xeon E5-2400
  • Таблицы сравнительных характеристик: RAID-контроллеры , Серверные HDD , Серверные SSD
  • Ссылки на разделы прайс-листа: RAID-контроллеры , Серверные HDD , Серверные SSD

Большинство серверных приложений работают с дисковой подсистемой сервера в режиме случайного доступа, когда данные читаются или записываются небольшими блоками размером несколько килобайт, а сами эти блоки могут располагаться в дисковом массиве случайным образом.

Жесткие диски имеют среднее время доступа к произвольному блоку данных порядка нескольких миллисекунд. Это время необходимо для позиционирования головки диска над нужными данными. За одну секунду жесткий диск может прочитать (или записать) несколько сотен таких блоков. Этот показатель отражает производительность жесткого диска на случайных операциях ввода-вывода и измеряется величиной IOPS (Input Output per Second, операций ввода-вывода в секунду). То есть производительность случайного доступа для жесткого диска составляет несколько сотен IOPS.

Как правило, в дисковой подсистеме сервера несколько жестких дисков объединяются в RAID-массив, в котором они работают параллельно. При этом скорость операций случайного чтения для RAID-массива любого типа возрастает пропорционально количеству дисков в массиве, а вот скорость операций записи зависит не только от количества дисков, но также и от способа объединения дисков в RAID-массив.

Довольно часто дисковая подсистема является фактором, который ограничивает быстродействие сервера. При большом количестве одновременных запросов дисковая подсистема может достичь предела своей производительности и увеличение объема оперативной памяти или частоты процессора не даст никакого эффекта.

Радикальным способом увеличения производительности дисковой подсистемы является использование твердотельных накопителей (SSD-накопителей), в которых информация записывается в энергонезависимую flash-память. У SSD-накопителей время доступа к произвольному блоку данных составляет несколько десятков микросекунд (то есть на два порядка меньше, чем у жестких дисков), благодаря чему производительность даже одного SSD-накопителя на случайных операциях достигает 60"000 IOPS.

На следующих графиках приведены сравнительные показатели производительности RAID-массивов из 8-ми жестких дисков и 8-ми SSD-накопителей. Приведены данные для четырех различных типов RAID-массивов: RAID 0, RAID 1, RAID 5 и RAID 6. Чтобы не перегружать текст техническими подробностями, информацию о методике тестирования мы поместили в конце статьи.


Из диаграмм видно, что применение SSD-накопителей повышает производительность дисковой подсистемы сервера на операциях произвольного доступа от 20 до 40 раз. Однако широкому использованию SSD-накопителей мешают следующие серьезные ограничения.

Во-первых, современные SSD-накопители имеют небольшую емкость. Максимальная емкость жестких дисков (3TB) превосходит максимальную емкость серверных SSD-накопителей (300GB) в 10 раз. Во-вторых, SSD-накопители примерно в 10 раз дороже жестких дисков, если сравнивать стоимость 1GB дискового пространства. Поэтому построение дисковой подсистемы из одних только SSD-накопителей в настоящее время применяется довольно редко.

Однако можно использовать SSD-накопители в качестве кэш-памяти RAID-контроллера. О том, как это работает и что дает, давайте поговорим подробнее.

Дело в том, что даже в довольно большой дисковой серверной подсистеме емкостью в десятки терабайт объем "активных" данных, то есть данных, которые используются наиболее часто, относительно невелик. Например, если Вы работаете с базой данных, которая хранит записи за длительный период времени, активно использоваться скорее всего будет только небольшая часть данных, которая относится к текущему временному интервалу. Или если сервер предназначен для хостинга Интернет-ресурсов, большая часть запросов будет относиться к небольшому числу наиболее посещаемых страниц.

Таким образом, если эти "активные" (или "горячие") данные будут находиться не на "медленных" жестких дисках, а в "быстрой" кэш-памяти на SSD-накопителях, производительность дисковой подсистемы возрастет на порядок. При этом Вам не нужно заботится о том, какие данные должны быть размещены в кэш-памяти. После того, как в первый раз контроллер прочитает данные с жесткого диска, он оставит эти данные в кэш-памяти SSD и повторное чтение будет выполняться уже оттуда.

Более того, кэширование работает не только при чтении, но и при записи. Любая операция записи будет записывать данные не на жесткий диск, а в кэш-память на SSD-накопителях, поэтому операции записи также будут выполняться на порядок быстрее.

Практически механизм кэширования на SSD-накопителях может быть реализован на любом шести-гигабитном RAID-модуле или RAID-контроллере Intel второго поколения на базе микроконтроллера LSI2208: RMS25CB040, RMS25CB080, RMT3CB080, RMS25PB040, RMS25PB080, RS25DB080, RS25AB080, RMT3PB080. Эти RAID-модули и контроллеры применяются в серверах Team на базе процессоров Intel E5-2600 и E5-2400 (платформа Intel Sandy Bridge).

Чтобы использовать режим SSD-кэширования, необходимо установить на RAID-контроллер аппаратный ключ AXXRPFKSSD2. Кроме поддержки SSD-кэширования, этот ключ также ускоряет работу контроллера с "чистыми" SSD-дисками, когда они используются не в качестве кэш-памяти, а как обычные накопители. В этом случае можно достичь производительности на операциях случайного чтения-записи в 465"000 IOPS (режим FastPath I/O).

Давайте посмотрим на результаты тестирования производительности все того же массива из восьми жестких дисков, но уже с использованием четырех SSD-накопителей в качестве кэш-памяти и сравним их с данными этого массива без кэширования.



Мы выполнили тестирование для двух вариантов организации SSD-кэш. В первом варианте 4 SSD-накопителя были объединены в RAID-массив нулевого уровня (R0), а во-втором случае из этих 4-х SSD-накопителей был образован зеркальный массив (R1). Второй вариант немного медленнее на операциях записи, зато он обеспечивает резервирование данных в SSD-кэш, поэтому предпочтительнее.

Интересно, что производительность чтения и записи практически не зависит от типа "основного" RAID-массива жестких дисков, а определяется только скоростью работы SSD-накопителей кэш-памяти и типом ее RAID-массива. Более того, "кэшированный" RAID 6 из жестких дисков на операциях записи оказывается быстрее, чем "чистый" RAID 6 из SSD-накопителей (29"300 или 24"900 IOPS против 15"320 IOPS). Объяснение простое - фактически мы измеряем производительность не RAID 6, а RAID 0 или RAID 1 кэш-памяти, а эти массивы быстрее на записи даже при меньшем числе дисков.

В качестве кэш-памяти можно использовать и один SSD-накопитель, однако мы рекомендуем этого не делать, поскольку не обеспечивается резервирование данных кэш-памяти. В случае выхода такого SSD-накопителя из строя, целостность данных будет нарушена. Для SSD-кэширования лучше использовать как минимум два SSD-накопителя, объединенный в RAID-массив первого уровня ("зеркало").

Надеемся, что информация, изложенная в данной статье, поможет Вам в выборе эффективной конфигурации дисковой подсистемы сервера. Кроме того, необходимую техническую консультацию всегда готовы оказать наши менеджеры и инженеры.

Конфигурация тестового стенда и методика тестирования

Серверная платформа — Team R2000GZ
Расширитель SAS-портов Intel RES2CV360 36 Port Expander Car
RAID-контроллер — Intel RS25DB080 с ключом AXXRPFKSSD2
HDD — 8 дисков SAS 2,5" Seagate Savvio 10K.5 300GB 6Gb/s 10000RPM 64MB Cache
SSD — 8 или 4 накопителя SSD SATA 2.5" Intel 520 Series 180GB 6Gb/s

Тестирование выполнялось при помощи программы Intel IO Meter.

Для каждого варианта аппаратной конфигурации выбирались оптимальные настройки кэш-памяти контроллера.

Объем виртуального диска для тестирования — 50GB. Такой объем был выбран для того, чтобы тестируемый диск мог полностью поместится в SSD-кэш.

Прочие параметры:
Strip Size — 256KB.
Размер блока данных для последовательных операций — 1MB.
Размер блока данных для операций случайного доступа — 4 KB.
Глубина очереди — 256.

Рассмотрим несколько различных вариантов построения дисковой подсистемы сервера с целью сравнения их по цене и быстродействию. В качестве величины полезной емкости дискового хранилища выберем значение 10TB. Во всех вариантах предполагается использование аппаратного RAID-контроллера с кэш-памятью 2GB.

Бюджетный вариант - два жестких диска 3,5" объемом 10TB с интерфейсом SATA и скоростью вращения шпинделя 7200 об./мин., объединенных в массив RAID1. Быстродействие такого массива не превысит 500 операций в секунду (IOPS) при чтении и 250 IOPS при записи. Дополнительный плюс этого решения – возможность кратного увеличения емкости хранилища за счет добавления новых дисков в свободные отсеки дисковой корзины сервера.

Производительный вариант - 12 HDD 2,5" 10’000RPM емкостью 1,8TB в RAID10 (RAID5 или RAID50 в два раза медленнее на операциях записи). Здесь мы получим на чтении около 5’000 IOPS, а на записи 2’500 IOPS - в 10 раз больше по сравнению с первым вариантом. Однако и обойдутся эти диски примерно в шесть раз дороже.

Максимальное быстродействие обеспечит массив RAID10 из SSD-накопителей, например, 12 штук Intel DC S4600 1,9TB. Производительность такого массива составит 800’000 IOPS на операциях чтения и 400’000 IOPS на операциях записи, то есть быстрее второго варианта в 160 раз, но дороже по сравнению с ним в 4 раза, а с первым вариантом – в 24 раза. Выбор SSD-накопителей большего размера даст примерно такие же цифры по стоимости и немного ниже – по производительности.

Вариант
массива
Чтение
(IOPS)
Запись
(IOPS)
Во сколько
раз быстрее
Во сколько
раз дороже
HDD 10TB x 2 500 250
HDD 1,8TB x 12 5’000 2’500 X 10 X 6
SSD 1,9TB x 12 800’000 400’000 X 1600 X 24

В общем, чем дороже, тем быстрее. И даже скорость обгоняет цену.

Прирост производительности на 3 порядка, который обеспечивают твердотельные накопители, является чрезвычайно привлекательным, однако на хранилищах такого объема обходится слишком дорого.

К счастью, существует менее затратная технология, которая может обеспечить производительность того же порядка, что и обычный массив из SDD-накопителей. Она основана на использовании SSD-накопителей в качестве кэш-памяти дисковой подсистемы.

Идея SSD-кэширования основана на концепции «горячих» данных.

Обычно серверные приложения активно работают лишь с небольшой частью данных, хранящихся в дисковой подсистеме сервера. Например, на сервере 1С транзакции осуществляются в основном с данными текущего операционного периода, а большинство запросов к серверу веб-хостинга обращается, как правило, к наиболее популярным страницам сайта.

Таким образом, в дисковой подсистеме сервера имеются блоки данных, к которым контроллер обращается значительно чаще, чем к другим блокам. Такие «горячие» блоки контроллер, поддерживающий технологию SSD-кэширования, хранит в кэш-памяти на SSD-накопителях. Запись и чтение этих блоков с SSD выполняются гораздо быстрее, чем чтение и запись с жестких дисков.

Понятно, что разделение данных на «горячие» и «холодные» достаточно условно. Однако как показывает практика, использование для кэширования «горячих» данных даже пары SSD-накопителей небольшого объема, объединенных в массив RAID1, дает очень большой прирост производительности дисковой подсистемы.

Технология SSD-кэширования применяется как для операций чтения, так для операций записи.

Алгоритм SSD-кэширования реализуется контроллером, он довольно простой и не требует от администратора никаких усилий по настройке и сопровождению. Суть алгоритма в следующем.

Когда сервер посылает контроллеру запрос на чтение блока данных

Если да, контроллер читает блок из SSD-кэш.

Если нет, контроллер читает блок с жестких дисков и записывает копию этого блока в SSD-кэш. При следующем запросе на чтение данного блока, он будет считываться из SSD-кэш.

Когда сервер посылает контроллеру запрос на запись блока данных , контроллер проверяет, находится ли данный блок в SSD-кэш.

Если да, контроллер записывает данный блок в SSD-кэш.

Если нет, контроллер записывает данный блок на жесткие диски и в SSD-кэш. При следующем запросе на запись данного блока, он будет записываться только в SSD-кэш.

Что произойдет, если при очередном запросе на запись блока, которого нет в SSD-кэш, там для него не окажется свободного места? В этом случае самый «старый» по времени обращения блок в SSD-кэш будет записан на жесткий диск, а его место займет «новый» блок.

Таким образом, через некоторое время после начала эксплуатации сервера с использованием технологии SSD-кэширования кэш-память на SSD будет в основном содержать блоки данных, к которым приложения сервера обращаются чаще.

Если SSD-кэширование планируется использовать только для чтения, в качестве кэш-памяти на SSD можно использовать одиночный SSD-накопитель или массив RAID0 из SSD-накопителей, поскольку SSD-кэш будет хранить только копии блоков данных, хранящихся на жестких дисках.

Если SSD-кэширование планируется использовать для чтения и записи, то «горячие» данные будут храниться только в кэш-памяти на SSD. В этом случае необходимо обеспечить резервирование таких данных, для чего использовать в качестве кэш-памяти два или более SSD-накопителей, объединенных в RAID-массив с избыточностью, например, RAID1 или RAID10.

Давайте посмотрим, как технология SSD-кэширования работает на практике, а заодно сравним эффективность ее реализации на контроллерах двух разных производителей – Adaptec и LSI.

Тестирование

Основной дисковый массив: RAID10 из шести HDD SATA 3,5" 1TB. Полезный объем массива 2,7TB.

SSD-кэш: RAID1 из двух SSD Intel DC S4600 240GB. Полезный объем массива 223GB.

В качестве «горячих» данных мы использовали первые 20 миллионов секторов, то есть 9,5GB, основного массива RAID10. Выбранный небольшой объем «горячих» данных принципиально ничего не меняет, но позволяет значительно сократить время тестирования.

Тестируемые контроллеры: Adaptec SmartRAID 3152-8i и BROADCOM MegaRAID 9361-8i (LSI).

Нагрузка на дисковую подсистему создавалась при помощи утилиты iometer. Параметры нагрузки: размер блока 4K, случайный доступ, глубина очереди 256. Мы выбрали большую глубину очереди, чтобы сравнивать максимальные показатели производительности, не обращая внимания на время задержки.

Производительность дисковой подсистемы фиксировались при помощи системного монитора Windows.

Adaptec (Microsemi) SmartRAID 3152-8i с технологией maxCache 4.0

Этот контроллер по умолчанию поддерживает технологию SSD-кэширования maxCache 4.0 и имеет 2GB собственной кэш-памяти c защитой от потери питания в комплекте.

При создании основного массива RAID10 мы использовали установки контроллера по умолчанию.

Массив RAID1 кэш-памяти на SSD был установлен в режим Write-Back, чтобы включить SSD-кэширование на чтение и запись. При установке режима Write-Through все данные будут записываться на жесткий диск, поэтому мы получим ускорение только на операциях чтения.

Картина тестирования:

График 1. Тестирование Adaptec maxCache 4.0

Красная линия - производительность дисковой подсистемы на операциях записи.

В первый момент наблюдается резкий всплеск производительности до значения 100’000 IOPS – данные записываются в кэш контроллера, который работает со скоростью оперативной памяти.

После заполнения кэш производительность падает до обычной скорости массива жестких дисков (примерно 2’000 IOPS). В это время блоки данных записываются на жесткие диски, поскольку этих блоков в кэш-памяти на SSD еще нет и контроллер не считает их «горячими». Копия данных записывается в SSD-кэш.

Постепенно все больше блоков записывается повторно, такие блоки уже есть в SSD-кэш, поэтому контроллер считает их «горячими» и записывает только на SSD. Производительность операций записи при этом достигает 40’000 IOPS и стабилизируется на этой отметке. Поскольку в SSD-кэш данные защищены (RAID1), нет необходимости перезаписывать их в основной массив.

Отметим, кстати, что заявленная производителем скорость записи для используемых нами здесь SSD-накопителей Intel DC S4600 240GB составляет как раз 38’000 IOPS. Поскольку мы записываем один и тот же набор данных на каждый накопитель из зеркальной пары массива RAID1, можно сказать, что SSD-накопители работают на максимально возможной для себя скорости.

Синяя линия - производительность дисковой подсистемы на операциях чтения. Левый участок – чтение данных из массива жестких дисков со скоростью примерно 2’000 IOPS, в кэш-памяти на SSD пока нет «горячих» данных. Одновременно с чтением блоков жестких дисков выполняется их копирование в кэш-память на SSD. Постепенно скорость чтения немного растет, поскольку начинают «попадаться» блоки, ранее считанные в SSD-кэш.

После записи в SSD-кэш всех «горячих» данных их чтение выполняется оттуда со скоростью более 90’000 IOPS (второй синий участок).

Фиолетовая линия - комбинированная нагрузка (50% чтение, 50% запись). Все операции выполняются только c «горячими» данными на SSD. Производительность в районе 60’000 IOPS.

Резюме

Контроллер Adaptec SmartRAID 3152-8i отлично справится с организацией SSD-кэширования. Поскольку контроллер уже включает поддержку maxCache 4.0 и защиту кэш-памяти, необходимо приобрести только SSD-накопители. Контроллер удобен и прост в настройке, установки по умолчанию обеспечивают максимальный уровень защиты данных.

Видео с записью тестирования Adaptec maxCache 4.0:

LSI (BROADCOM) MegaRAID 9361-8i

Этот контроллер поддерживает технологию SSD-кэширования CacheCade 2.0. Для ее использования необходимо приобрести лицензию стоимостью около 20’000 рублей.

Защита кэш-памяти не входит в комплект поставки, но по результатам тестирования мы выяснили, что для получения максимальных показателей производительности кэш контроллера лучше использовать в режиме Write-Through, который не требует защиты кэш.

Установки контроллера для основного массива: кэш контроллера в режиме Write-Through; режимы чтения Direct IO, No Read Ahead.

Кэш-память на SSD-накопителях (массив RAID1) в режиме Write-Back для кэширования операций чтения и записи.

Картина тестирования (здесь диапазон вертикальной шкалы в два раза больше, чем у Adaptec):

График 2. Тестирование LSI CacheCade 2.0

Последовательность тестирования такая же, картина похожая, но производительность CacheCade 2.0 несколько выше, чем maxCache.

На операциях записи «горячих» данных мы получили производительность почти 60’000 IOPS против 40’000 у Adaptec, на операциях чтения – почти 120’000 IOPS против 90’000 IOPS, на комбинированной нагрузке – 70’000 IOPS против 60’000 IOPS.

Здесь нет «всплеска» производительности в начальный момент тестирования операций записи, поскольку кэш контроллера работает в режиме Write-Through и не используется при записи данных на диски.

Резюме

У контроллера LSI более сложная настройка параметров, требующая понимания принципов его работы. Для использования SSD-кэширования не требуется обязательное наличие защиты кэш-памяти контроллера. В отличие от Adaptec возможно использование SSD-кэш для обслуживания сразу нескольких RAID-массивов. Более высокая производительность по сравнению с контроллерами Adaptec. Требуется покупка дополнительной лицензии CacheCade.

Видео с записью тестирования LSI CacheCade 2.0:

Заключение

Дополним нашу табличку. При сравнении цен учтем, что для массива в 10TB желательна кэш-память большей емкости. Цифры производительности возьмем из нашего тестирования.

Вариант
массива
Чтение
(IOPS)
Запись
(IOPS)
Во сколько
раз быстрее
Во сколько
раз дороже
HDD 10TB x 2 500 250
HDD 1,8TB x 12 5’000 2’500 X 10 X 6
SSD 1,9TB x 12 800’000 400’000 X 1600 X 24
HDD 10TB x 2 + SSD 960GB x 2, maxCache 90’000 40’000 X 160 X 2,5
HDD 10TB x 2 + SSD 960GB x 2, CacheCade 120’000 60’000 X 240 X 3

При кэшировании записи всегда используйте в качестве SSD-кэш массивы с избыточностью (RAID1 или RAID10).

Для SSD-кэш используйте только серверные SSD-накопители. Они имеют дополнительную «невидимую» область размером около 20% от заявленного объема. Эта резервная область используется для внутренних операций дефрагментации и «сборки мусора», благодаря чему производительность таких накопителей на операциях записи не падает даже при 100% их заполнении. Кроме того, наличие резервной области экономит ресурс накопителя.

Ресурс SSD-накопителей для кэш-памяти должен соответствовать нагрузке на подсистему хранения сервера по объему записываемых данных. Ресурс накопителя обычно определяется параметром DWPD (Drive Writes Per Day) – сколько раз в день можно полностью перезаписать накопитель на протяжении 5 лет. Накопители с ресурсом 3 DWPD и более обычно будут подходящим выбором. Измерить реальную нагрузку на дисковую подсистему можно при помощи системного монитора.

В случае, если возникнет необходимость перенести все данные из кэш-памяти на SSD-накопителях на основной массив, нужно переключить режим работы SSD-кэш с Write-Back на Write-Through и подождать пока данные полностью не перепишутся на жесткие диски. По окончании этой процедуры, но не ранее, контроллер «позволит» удалить том SSD-кэширования.

Если у Вас появились вопросы или замечания по данному материалу, пожалуйста, направляйте их на .

Если вы решили приобрести твердотельный SSD накопитель, то на это может быть несколько причин:

  • Вас не устраивает скорость работы вашего HDD.
  • Вам необходима быстрая работа windows и определенных типов приложений, игр.

Однако установить ССД в компьютер или ноутбук, а затем заполнить его информацией недостаточно. Необходимо также оптимизировать его работу с работой вашей OC.


Рассмотрим основные методы оптимизации SSD диска.

AHCI SATA

Технология, позволяющая использовать функцию TRIM для различных твердотельных накопителей. Ее включение производится на уровне BIOS вашего ПК или ноутбука.

Включение AHCI SATA:

  1. Открываете командную строку комбинацией клавиш win + R.
  2. Вводите команду: «regedit» (доступ в реестр).
  3. Переходите по следующему пути: HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Services → storahci.
  4. Измените значение подраздела ErrorControl на 0 (по умолчанию 3), вызвав контекстное меню и нажав параметр «Modify».
  5. Перейдите в ветку с название «StartOverride» и измените его значение на 0 (по умолчанию 3).
  6. Перезагрузите ваш ПК (ноутбук), зайдите в BIOS/UEFI (как зайти в BIOS, смотрите отдельно для модели вашего ноутбука или материнской платы ПК). В разделе «storage configuration», и в подразделе «SATA port» выставить AHCI или же в разделе «SATA RAID/AHCI Mode», выставить AHCI (Для разных версий BIOS, свои разделы и подразделы).
  7. Проверьте работоспособность функции в Windows. Перейдите по следующему пути: Панель управления → Диспетчер устройств → IDE ATA/ATAPI controllers. В последнем подразделе должно появиться устройство: «Standard SATA AHCI Controller».

Функция TRIM

По умолчанию данная функция включена на windows 7 и выше, однако, лучше вручную проверить работает ли эта функция. Смысл TRIM в том, что после удаления файлов, windows передает SSD накопителю информацию, что определенная область диска не используется и ее можно очистить для записи. (в HDD данные остаются и запись производится «поверх» существующей). Со временем, если функция отключена, будет происходить падение производительности накопителя.

Проверка TRIM в Windows:

  1. Запустите командную строку, нажав комбинацию клавиш win + R.
  2. Введите команду: «fsutil behavior query disabledeletenotify».
  3. Если после ввода выводится сообщение: «DisableDeleteNotify = 0», то функция TRIM включена, если «DisableDeleteNotify = 1», то TRIM не функционирует. Если TRIM не работает, введите команду: «fsutil behavior set DisableDeleteNotify 0», затем повторите пункты 2 и 3.

Дефрагментация

Данная функция помогает оптимизировать и ускорить работу HDD, но для SSD, она оказывает пагубное влияние. Для SSD, функция «автоматическая дефрагментация» по умолчанию отключена. Чтобы проверить работает ли она необходимо:

  1. Нажать комбинацию win + R.
  2. В окне командной строки ввести команду: «dfrgui» и нажать «ОК».
  3. В открывшемся окне, выделите ваш ССД и посмотрите на пункт «Оптимизация по расписанию». Для нашего твердотельного накопителя она должна быть отключена.

Индексация

Функция Windows, помогающая выполнять быстрый поиск файлов на диске при больших объемах информации, однако, увеличивающая нагрузку по записи на SSD. Для ее отключения:

  1. Переходим в раздел «Этот компьютер», «Мой компьютер», «Компьютер» (для каждой ОС по-разному).
  2. Выбираете ваш ССД и в контекстном меню выбираете «Свойства».
  3. В открывшемся окне, снимаете флажок напротив параметра: «Разрешить индексирование содержимое файлов на этом диске в дополнение к свойствам файла».

Служба поиска

Ее функция создает файловый индекс, благодаря которому нахождение разнообразных файлов и папок производится быстрее. Однако скорости ССД вполне достаточно чтобы от нее отказаться. Для ее отключения необходимо:

  1. Переходите по следующему адресу: Панель управления → Система и безопасность → Администрирование → Управление компьютером.
  2. Переходите во вкладку: «Службы».
  3. Находите службу «Windows search» и во вкладке «Тип запуска» выбираете «Отключена».

Гибернация

Режим, который позволяет сохранять содержимое оперативной памяти на жёстком диске, благодаря чему при последующем включении, сохраняется информация и открытые приложения с предыдущего сеанса.

При использовании ССД смысл этой функции теряется, так как накопитель и так быстро стартует. А «Гибернация», создавая циклы «запись-перезапись», уменьшает продолжительность жизни SSD диска.

Отключение гибернации:

  1. Запускаете вновь cmd.exe сочетанием клавиш win + R.
  2. Вводите команду: «powercfg -h off».

Кэширование записи

Данная функция повышает производительность вашего твердотельного накопителя. При ее включении используется технология записи и чтения NCQ. NCQ – принимает несколько запросов одновременно, а затем организовывает их порядок выполнения таким образом, чтобы достичь максимальной производительности.

Для подключения необходимо:

  1. Вызвать командную строку комбинацией win + R
  2. Ввести команду: «devmgmt.msc».
  3. Открыть «Дисковые устройства», выбрать SSD и в контекстном меню выбрать «Свойства».
  4. Перейти во вкладку «Политика».
  5. Поставить «галочку» напротив параметра: «Разрешить кэширование записей для этого устройства».

Prefetch и Superfetch

Prefetch – технология, с помощью которой часто используемые программы загружаются в память заранее, тем самым ускоряется последующий их запуск. При этом на дисковом пространстве создается одноименный файл.

Superfetch – технология похожая на Prefetch с тем отличием, что ПК предугадывает какие приложения будут запущенны, заблаговременно загружая их в память.

Обе функции не имеют пользы при использовании SSD. Поэтому их лучше всего отключить. Для этого:

  1. Вызываем командную строку сочетанием клавиш win + R.
  2. Выполняем команду: «regedit» (переход в реестр).
  3. Переходите по пути: HKEY_LOCAL_MACHINE → SYSTEM → CurrentControlSet → Control → Session Manager → Memory Management → PrefetchParameters.
  4. Находите в подразделе реестра несколько параметров: «EnablePrefetcher» и «EnableSuperfetch», устанавливаете их значение в 0 (по умолчанию 3).

Утилита SSD Mini Tweaker

Все вышеперечисленные действия можно выполнять вручную, но руками программистов были созданы программы – твикеры, предназначение которых кастомизация ОС windows, а также отдельных ее компонентов с помощью нескольких кликов. Одной из таких программ является SSD Mini Tweaker .

SSD Mini Tweaker – программа, разновидность твикеров, позволяющая без особых усилий оптимизировать ваш SSD.

Преимущества:

  • Полная русификация.
  • Работает на всех ОС начиная с Windows 7.
  • Бесплатная.
  • Понятный интерфейс.
  • Не требует установки.

Другие способы

Такие манипуляции, как перенос кэша браузеров, файлов подкачки, временных папок Windows, бэкапа системы с SSD диска на HDD (или отключение данной возможности) являются бесполезными, так как хоть и увеличивают продолжительность жизни ССД, но ограничивают потенциал его использования.

Тем самым выполнив несложные вышеперечисленные манипуляции с вашей ОС, вы сможете продлить жизнь вашего накопителя, а также настроить его на режим максимальной производительности.

Введение

По мере развития бизнеса возможности приложений с интенсивными рабочими потоками часто ограничиваются характеристиками жестких дисков (HDD). Несмотря на то, что емкости HDD резко возросли, скорость выполнения операций произвольного ввода/вывода (I/O) не увеличивалась в том же темпе. Однако, теперь возможно ускорить обработку потоков с интенсивным чтением данных, таких, как при онлайн транзакциях (On-Line Transaction Processing - OLTP), в сетевых и файловых серверах, базах данных, применяя новую технологию кэширования, Infortrend SSD Cache, которая использует высокую скорость и малую задержку твердотельных дисков для повышения скорости считывания часто требующихся жизненно важных данных. Скорость чтения для SSD значительно выше по сравнению с HDD и, следовательно, SSD Cache может существенно улучшить характеристики произвольного чтения и снизить время отклика.

Применимость настоящего документа

Семейство EonStor DS

Что такое SSD Cache?

Кэш-память - это компонент, который прозрачно накапливает данные, так что следующие обращения к ним могут обслуживаться более эффективно. Он имеет решающее значение для хранилища, особенно в применениях с интенсивным чтением данных. Без включения SSD Cache емкость кэш-памяти контроллера ограничена. SSD Cache позволяет использовать быстрые SSD для наращивания пула кэш-памяти системы хранения и накапливания часто запрашиваемых данных. С увеличением емкости SSD Cache частота попадания в кэш также увеличивается. Другими словами, все больше и больше “горячих” данных будет храниться в SSD Cache, будущие обращения к этим данным будут обслуживаться более эффективно и, следовательно, характеристики чтения будут улучшаться.

Почему Infortrend SSD Cache?

Во многих случаях, когда процентное содержание операций чтения в рабочем потоке значительно выше, чем операций записи, и происходит повторяющееся считывание небольшого количества данных, SSD Cache может дать следующие преимущества:

1.Улучшение характеристик чтения

SSD Cache использует интеллектуальный алгоритм, чтобы ускорить обработку интенсивных потоков с произвольным чтением данных, таких, как OLTP и обращения к базам данных. В таких ситуациях SSD Cache может существенно увеличить общую скорость чтения. Например, SSD Cache может в 2,5 раза увеличить значение IOPS при OLTP по сравнению с той же системой без SSD Cache. В то же время задержки также уменьшаются и, следовательно, степень улучшения характеристик зависит от действительных рабочих потоков приложения и поведения пользователя.

2.Интеллектуальное ПО и алгоритм управления

Интеллектуальное ПО автоматически анализирует модель доступа к данным и распознает последовательные и произвольные операции чтения/записи. Данные последовательного чтения или записи не заносятся в пул SSD Cache, в нем накапливаются только данные произвольного чтения, чтобы SSD использовались наиболее эффективно. Если более точно, то встроенное ПО автоматически перемещает копии наиболее часто требующихся данных из кэш-памяти контроллера в пул SSD Cache в соответствующее время. Эти “горячие” данные впоследствии будут считаны из SSD Cache, если система получит запрос на их чтение. Разработанны Infortrend алгоритм оптимизирует цикличность копирования данных в SSD, так что для этой цели можно применять и сравнительно дешевые SSD. Это решение не только улучшает характеристики чтения, но и продлевает срок службы жестких дисков за счет уменьшения количества циклов чтения и записи.

3.Простой интуитивный интерфейс пользователя

Функции SSD Cache полностью интегрированы в Infortrend SANWatch и RAIDWatch GUI. Они очень просто настраиваются, управляются и обслуживаются. Например, пользователь может наблюдать за состоянием пула SSD Cache и легко проверять оставшийся срок службы для каждого SSD.

Infortrend SSD Cache

Как работает Infortrend SSD Cache

Если SSD Cache включено и работает в течение некоторого времени, интеллектуальное встроенное ПО собирает статистику и немедленно обновляет записи о “температуре” данных в кэш-памяти контроллера. Основываясь на этих записях, встроенная программа автоматически копирует в соответствующее время небольшие фрагменты случайных часто требующихся данных из кэш-памяти контроллера в пул SSD Cache, используя метод последовательной записи, чтобы избежать интенсивных операций с SSD и, следовательно, увеличить срок их службы. Пока пул SSD Cache Pool не заполнится “горячими” данными, генерируемыми приложениями на хосте, метод предварительного копирования блоков на SSD с помощью зонного предсказания ускоряет операции чтения. Если размер блока данных меньше или равен 16 KB, данные копируются прямо в пул SSD, даже если они считываются только однократно. Если размер блока больше 16 KB, и программа распознает его как “горячие” данные (считываются несколько раз), то они классифицируются как часто требующиеся и сохраняются в пуле SSD. Для этих “горячих” данных будет хранится две копии - одна в SSD Cache и одна на жестких дисках.

Как правило, по получении запроса на чтение данных система проверяет, имеются ли соответствующие данные в кэш-памяти контроллера. Если запрашиваемые данные есть в кэше контроллера, система тут же возвращает их хосту. Если же запрашиваемых данных нет в кэше контроллера, то система проверяет пул SSD Cache. Если запрашиваемые данные были сохранены в SSD Cache на основании оценки их “температуры”, то система считывает эти данные прямо из SSD Cache и возвращает из хосту. В противном случае данные будут возвращены с более медленного устройства. Следовательно, чем больше попаданий в кэш, тем больше запросов будет обслужено SSD Cache, поэтому общие характеристики и среднее время отклика будут улучшаться.

Что нужно для работы SSD Cache

1. Требования к программному обеспечению и SANWatch

ПО версия 512F12 или выше

SANWatch версия 3.0.h.14 или выше

2. Лицензия на SSD Cache

SSD Cache доступно по лицензии. Infortrend также предоставляет 30-дневную пробную лицензию.

3.Соотношение между емкостью кэш-памяти контроллера и максимальным размером пула SSD Cache:

Если в системе разрешена работа SSD Cache, то кэш-память контроллера будет использовать некоторую часть пространства для сохранения “горячих” данных, и размер “горячих” записей в кэше контроллера будет определять максимальный поддерживаемый размер пула SSD. Для начальной комбинации (2 GB на контроллер) максимальный поддерживаемый размер пула SSD Cache равен 150 GB для одиночного контроллера и 300 GB для моделей с двойным избыточным контроллером.

По сравнению с SSD кэш-память контроллера более экономична. Кроме того, в кэш-память контроллера могут попадать не только считываемые, но и записываемые данные. Следовательно, мы рекомендуем пользователям EonStor DS нарастить кэш-память до 16 GB на один контроллер и приобрести подходящие SSD для кэш-пула (соответствующие вашим потребностям и бюджету), чтобы получить максимальный выигрыш в характеристиках.

4.Сброс контроллера(ов) для запуска SSD Cashe

Последний шаг запуска SSD Cache включает сброс контроллера(ов). По умолчанию, в кэш-памяти контроллера не назначается пространство для хранения “горячих” данных. Следовательно, требуется сбросить контроллер и инициализировать его так, чтобы выделить подходящее пространство для “горячих” записей. После сброса контроллера и активации функции SSD Cache управлять им очень просто. Нет необходимости сбрасывать или перегружать систему при добавлении SSD в пул или удалении из него. Эта процедура выполняется с помощью интуитивного интерфейса пользователя через SANWatch или RAIDWatch.

5.Требования к SSD

В настоящее время один контроллер поддерживаеи до 4 SSD. Если вы хотите использовать функцию SSD Cache, проверьте, пожалуйста, числится ли выбранная вами модель SSD в квалификационном списке Infortrend Qualified Vendor List (QVL). Только SSD из нашего QVL могут применяться для улучшения характеристик хранилища, как описано в этом документе.

Заключение

Infortrend SSD Cache представляет собой интеллектуальное решение, которое многократно улучшает характеристики хранилища, в особенности для приложений с интенсивным чтением данных, значительно снижает задержки и поддерживает большие пулы кэш-памяти. Его легко устанавливать, администрировать и обслуживать с помощью интуитивных интерфейсов пользователя от Infortrend. Мы настоятельно рекомендуем использовать его в системах с интенсивными рабочими потоками и часто повторяющимися операциями чтения.

Полный текст статьи с иллюстрациями вы можете скачать в виде pdf файла.