Light-electric.com

IT Журнал
9 просмотров
Рейтинг статьи
1 звезда2 звезды3 звезды4 звезды5 звезд
Загрузка...

Как настроить ssd кэш

Как настроить ssd кэш

В процессе изучения рынка ноутбуков возникло несколько вопросов по использованию SSD в них. Буду благодарен за помощь.

Сейчас в ноутбуках есть два подхода.
1. Полноценный активный SSD. (Иногда вместо, иногда вместе с HDD)
2. SSD-Cache + HDD

1. В случае, если есть обычный SSD я сам могу установить туда ОС и самые необходимые программы.
В случае SSD-cache система сама кладет туда некие «часто используемые» на ее взгляд данные, а я не имею доступа к SSD диску.
Верно ли я понимаю?

2. Насколько эффективен SSD-cache? Быстрее ли грузится система? Программы? Как в целом с потребительской точки зрения?

3. Как вы оцениваете эффективность cache по сравнению с полноценным SSD?

цитата: yevlampy:
3. Как вы оцениваете эффективность cache по сравнению с полноценным SSD? Полноценный SSD, на котором и система и рабочие файлы, работает гораздо быстрее.

Дома есть старенький ноут Toshiba Satellite.
Замена в нем умершего HDD на твердотелый SSD совершенно его преобразила по быстродействию.
Даже не поверил, что старенький загнанный коняга начнет летать как молодой рысак.

цитата: Volk1975:
цитата: yevlampy:
3. Как вы оцениваете эффективность cache по сравнению с полноценным SSD? Полноценный SSD, на котором и система и рабочие файлы, работает гораздо быстрее.

Дома есть старенький ноут Toshiba Satellite.
Замена в нем умершего HDD на твердотелый SSD совершенно его преобразила по быстродействию.
Даже не поверил, что старенький загнанный коняга начнет летать как молодой рысак.
Ок. а с SSD-кэшем не пробовали работать? отзывы тоже самые положительные. Получается дёшево и средито. Но может быть есть там подвох? Подозрительно уж дёшево выходит, нежели обычный SSD.

цитата: yevlampy:
Ок. а с SSD-кэшем не пробовали работать? отзывы тоже самые положительные. Получается дёшево и средито. Но может быть есть там подвох? Подозрительно уж дёшево выходит, нежели обычный SSD. Думаю, что подвоха никакого нет.
Просто более дешевый вариант, дающий быстродействие в соответствии со своей ценой.

Полностью все на SSD — все равно быстрее будет.
По ходу, HDD и их гибриды доживают последние дни.

Сначала на моем UX32VD была связка HDD+SSD, после 9 месяцев использования был поставлен полноценный SSD. Так что на своем примере могу рассказать.

1) да, верно. Примечание — для корректной работы объем задействуемого кеша должен быть равен объему оперативной памяти девайса.
2) Система грузится за 26-28 секунд в более-менее чистом виде, при полезной нагрузке из кучи программ и игр (без шлака) — 34-36 секунд. Против 50+- секунд обычного харда. Это win7hp x64 с подчищенным реестром.
Программы — быстрее грузятся часто используемые и недавно использованные. В целом — улучшение есть по сравнению с обычным хардом, заметное, но не очень значительное. Отзывчивость системы увеличивается, но задержки заметны.
3) HDD+SSD кеш полноценному SSD проигрывает ровно столько же, насколько выигрывает у обычного HDD. Загрузка с программами 18-20 секунд (win7hp x64), просто-таки реактивная скорость работы и копирования файлов. Да, еще, SSD полностью бесшумен. А обычный винт, кэш или не кэш, стрекочет заметно. Особенно ночью чувствуется и раздражает, если бук не отключать.

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

Если в буке используется связка полноценных SSD и HDD — под систему и данные соответственно — если места в корпусе хватит, получится сравнительно недорогой вариант быстрой системы. Потому что мой M4 на 512 гиг стоил 13000 рублей (и был единственным вариантом — нужны были и объем, и скорость, и 1 диск. В 13,3″ буке 1 sata-разъем, и то место есть лишь под 7-мм диски).
SSD на 128 гиг стоят 2,5-3,5к, + хард на терик, еще 3 с половиной тысячи. Итого в два раза дешевле и в два раза больше места для хранения данных.

Стоит ли включать кэширование на SSD диске?

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

Что такое SSD Cache?

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

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

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

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

В реальном выражении кэширование SSD будет включать в себя SSD небольшого размера, скажем, 40 ГБ, в сочетании с большим традиционным жестким диском, например, с емкостью 1 ТБ.

SSD Кэширование — совместимость

Intel разработала технологию кэширования SSD Smart Response Technology (SRT), а запатентованная итерация этого механизма доступна только на материнских платах с поддержкой SRT и чипсетами Intel. Что еще хуже, Intel не использует технологию всех своих наборов микросхем, которая ограничивает аппаратные конфигурации, которые пользователь может ожидать, сохраняя при этом возможность кэширования SSD.

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

Ограничения SSD-кэширования

Кэширование SSD дает ощутимые преимущества только тогда, когда система находится в том состоянии, которое мы называем «чистым», таким как загрузка компьютера после его выключения, перезагрузка Windows или первоначальный запуск приложения после перезагрузки или выключения питания. Существует иерархия памяти, которая работает от кэша ЦП до ОЗУ, кэша SSD, затем HDD. Перезапуск очищает кэш ЦП и ОЗУ, превращая кэш SSD в место доступа к данным.

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

Как видите, главное преимущество кэширования SSD наиболее очевидно при загрузке Windows: ОС находится в работоспособном состоянии гораздо раньше, чем в кэшированной системе без SSD. Аналогично, запуск Steam и вашей любимой игры после перезагрузки будет намного быстрее с SSD-кэшированием. Если вы работали без перезапуска в течение нескольких часов и открыли, затем закрыли различные программы и решили открыть их еще раз, SSD ничего не сделает для ускорения процесса.

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

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

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

Стоит ли включать кэширование SSD?

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

Однако настройка кэширования, даже с набором микросхем Intel SRT, является трудной задачей, которая включает в себя использование правильных драйверов, правильную настройку BIOS и запуск его в качестве настройки RAID, установку драйверов Windows и Rapid Storage Technology, управление режимами и т.д. Суть в том, что он значительно сложнее, чем использование SSD-накопителя большой емкости и простая установка Windows.

Читать еще:  Установка ssd m2 в ноутбук

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

Вывод

По нашей оценке, основная концепция кэширования SSD стоит задуматься. На практике результаты не являются достаточно явными, чтобы выбрать кэширование SSD, а не большие затраты на больший SSD и запускать все — от Windows до ваших любимых шутеров с того же самого диска и позволить ОЗУ делать свои задачи быстрее.

Оптимизация работы SSD диска под Windows

Если вы решили приобрести твердотельный 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 (или отключение данной возможности) являются бесполезными, так как хоть и увеличивают продолжительность жизни ССД, но ограничивают потенциал его использования.

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

Использование твердотельных накопителей SSD для повышения производительности СХД

  • Ключевые слова :
  • ИТ-инфраструктура
  • SSD
  • Гибридные массивы
  • Кэширование на SSD
  • Многоуровневое хранение

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

«Лучшей практикой» для многих корпоративных заказчиков является применение гибридных систем хранения SSD/HDD. Такое решение позволяет воспользоваться преимуществами обоих типов носителей — большой емкостью HDD и высоким быстродействием SSD в IOPS (количество операций ввода-вывода в секунду), — но при этом остается экономически привлекательным.

В гибридной системе хранения SSD/HDD основная емкость представлена недорогими жесткими дисками, а небольшой пул для «горячих», часто используемых данных — флеш-памятью. В рационально спроектированной гибридной СХД при небольшом количестве накопителей SSD достигается значительное ускорение операций с основным пулом хранения данных.

РЕАЛИЗАЦИЯ ГИБРИДНЫХ СХД

На практике применяются два основных метода ускорения — кэширование данных и их многоуровневое хранение (tiering). В обоих случаях для увеличения производительности ввода-вывода используется концепция «горячих» данных, но в действительности это совершенно разные подходы.

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

При многоуровневом хранении данные соответствующим образом сортируются и помещаются на уровень SSD или HDD (уровней может быть больше двух): «горячие» отправляются на флеш-память, а реже используемые — на жесткие диски.

ЧТО ЛУЧШЕ?

Многоуровневое хранение не предполагает избыточности данных, поэтому реализация RAID в этом случае становится более сложной — требуется покупка дополнительных SSD. Сама сортировка данных и распределение их по уровням негативно сказываются на производительности. Такие системы должны управлять данными, которые из «горячих» со временем превращаются в «холодные». Ввиду отсутствия избыточности, часто используемые данные нужно перемещать в основной пул, как только они становятся менее полезными. Эти фоновые процессы потребляют IOPS и сказываются на скорости операций ввода-вывода во время таких перемещений. С наибольшей эффективностью многоуровневое хранение функционирует в тех случаях, когда соответствующие алгоритмы адаптированы к требованиям и задачам заказчика. Для достижения идеальной производительности нужны постоянный мониторинг и подстройка алгоритмов.

Читать еще:  Диагностика ssd диска

В отличие от сложного многоуровневого хранения, кэширование на SSD в существующих СХД реализовать проще. Гибридные системы хранения с кэшированием на SSD не требуют дополнительного администрирования, а приложение воспринимает такую систему точно так же, как и любую другую сетевую СХД, только работает она намного быстрее. Реализация RAID и защита данных у нее аналогичные, и покупать для этого дополнительные SSD не потребуется.

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

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

ПРОБЛЕМА ЗАПИСИ

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

Если в клиентской системе операции записи на SSD можно распределить таким образом, что каждый отдельный блок носителя будет перезаписываться достаточно редко, то в гибридной СХД уровень SSD активно задействуется для хранения «горячих» данных всего дискового пула. При кэшировании и многоуровневом хранении операции с SSD станут очень интенсивными, и преимущества алгоритмов предотвращения износа носителя будут сведены на нет. Это означает, что в обоих случаях (кэширование и многоуровневое хранение) уровень SSD лучше всего задействовать для ускорения операций чтения, а не чтения и записи.

РЕАЛИЗАЦИЯ КЭШИРОВАНИЯ НА SSD

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

НАПОЛНЕНИЕ КЭШ-ПАМЯТИ

Кэш, как и основная емкость хранения, разбивается на группы секторов равного размера. Каждая группа называется кэш-блоком, а каждый блок состоит из подблоков. Размер кэш-блока можно настраивать под конкретное приложение, например СУБД или Web-сервер.

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

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

Что происходит с содержимым кэша после его «разогрева»? Если на SSD есть свободное место, кэш продолжает заполняться «горячими» данными. Когда емкость SSD исчерпывается, применяется алгоритм перезаписи наименее используемых данных (Least Recently Used, LRU), то есть на место последних в кэш-памяти записываются новые «горячие» данные.

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

Специалисты Qsan рекомендуют использовать накопители Intel SSD DC S3500. Так, у SSD емкостью 480 Гбайт наработка на отказ (MTBF) составляет 2 млн ч. Что касается производительности, то типичная задержка у этих накопителей равна 50 мс, максимальная задержка при чтении — 500 мс (99,9% времени), а производительность при произвольном чтении блоками по 4 Кбайт достигает 75 тыс. IOPS, при записи — 11 тыс. IOPS. Это хороший вариант для SSD-кэширования.

КЭШИРОВАНИЕ ПРИ ЧТЕНИИ-ЗАПИСИ

Операция чтения при отсутствии данных в кэш-памяти происходит следующим образом:

  1. Приложение подает запрос на чтение данных.
  2. Данные считываются с HDD.
  3. Запрошенные данные возвращаются приложению.
  4. Выполняется операция наполнения SSD.

Операция чтения при наличии данных в кэш-памяти:

  1. Приложение подает запрос на чтение данных.
  2. Данные считываются с SSD.
  3. Запрошенные данные возвращаются приложению.
  4. При сбое SSD данные считываются с HDD.

Действия приложения при записи данных:

  1. Приложение подает запрос на запись данных.
  2. Данные записываются на HDD.
  3. Приложению возвращается статус операции.
  4. Выполняется операция наполнения кэш-памяти на SSD.

НАСТРОЙКА КЭШ-ПАМЯТИ SSD

Чтобы приложение использовало кэш-память на SSD максимально эффективно, ее можно настроить. Основные параметры — размер блока кэш-памяти, пороговые значения наполнения при чтении и при записи.

Размер блока. Большой размер блока кэш-памяти подходит для приложений, часто обращающихся к соседним (по физическому расположению) данным. Это называется высокой локальностью обращений. Увеличение размера блока также ускоряет наполнение кэш-памяти на SSD — ускоряется «разогрев» кэша, после которого приложения с высокой локальностью обращений будут демонстрировать весьма высокую производительность. Однако увеличение размера блока влечет за собой генерирование избыточного трафика ввода-вывода и увеличение времени отклика, особенно для отсутствующих в кэше данных.

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

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

Как можно видеть, увеличение или уменьшение каждого параметра имеет свои положительные и отрицательные последствия. Очень важно понимать «локальность» приложения. Кроме того, полезно протестировать систему на реальных нагрузках и посмотреть, при каких параметрах она показывает лучшие результаты.

Использование SSD-кэширования в серверах.
Контроллеры Adaptec (Microsemi) и LSI (BROADCOM). Тестирование и настройка

Рассмотрим несколько различных вариантов построения дисковой подсистемы сервера с целью сравнения их по цене и быстродействию. В качестве величины полезной емкости дискового хранилища выберем значение 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 раз больше по сравнению с первым вариантом. Однако и обойдутся эти диски примерно в шесть раз дороже.

Читать еще:  Как проверить жесткий диск ssd

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

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

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

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

В первый момент наблюдается резкий всплеск производительности до значения 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):

Последовательность тестирования такая же, картина похожая, но производительность 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 желательна кэш-память большей емкости. Цифры производительности возьмем из нашего тестирования.

Ссылка на основную публикацию
ВсеИнструменты
Adblock
detector
×
×