2

Функция « Пространства хранения», включенная в Windows Server 2012 и будущая версия Windows Server 2016, состоит из виртуального диска. В многоуровневом хранилище создается кэш обратной записи (размер по умолчанию - 1 ГБ). В дисковых пространствах настроен порог, который определяет, будет ли конкретная операция записи попадать в кэш обратной записи или нет. Этот порог очень мал и делает так, чтобы большинство записей не попадали в кэш обратной записи.

В качестве примера, давайте предположим, что кэш обратной записи может достигать 500 МБ / с, в то время как более медленный уровень работает со скоростью всего 75 МБ / с. После создания виртуального диска и создания только что отформатированного тома сразу же заметно, что операция копирования файла размером 386 МБ занимает более одной секунды для завершения на виртуальном диске дисковых пространств. Можно было бы надеяться, что файл будет скопирован менее чем за секунду, если предположить, что кэш с обратной записью потребляет эту операцию, но это не так. Вместо этого уровень хранения обнаруживает, что размер записи превышает предварительно определенный порог для записи в кэш обратной записи, и пересылает запись на самый медленный уровень, который затем занимает около 5 секунд. Меня разочаровывает, что кэш обратной записи не ускорит эту операцию копирования файлов.

Справочную информацию можно найти здесь:

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

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

Два вопроса:

1) Какое пороговое значение по умолчанию (в килобайтах) для дисковых пространств, чтобы выбрать для выполнения записи в кэш обратной записи?

2) Какую команду можно выполнить в PowerShell, чтобы изменить пороговое значение, чтобы я мог дать указание дисковым пространствам выполнять большую запись в кэш обратной записи?

2 ответа2

4

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

Немного хорошего чтения по теме:

https://blogs.technet.microsoft.com/larryexchange/2015/12/02/understand-storage-space-tiering-in-windows-server-2012-r2/

https://technet.microsoft.com/en-us/library/dn789160.aspx

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

https://www.starwindsoftware.com/caching-page

Вы можете экспериментировать с CSV-кешем, но пока он доступен только для чтения.

https://blogs.msdn.microsoft.com/clustering/2013/07/19/how-to-enable-csv-cache/

Предстоящая Windows Server 2016 также имеет некоторые оптимизации, поэтому стоит попробовать.

https://blog.cdemi.io/caching-and-storage-tiering-in-storage-spaces-direct/

2

Если вы хотите настроить размер кэша обратной записи, используйте командлеты Windows PowerShell и параметр -WriteCacheSize, например:

New-VirtualDisk -StoragePoolFriendlyName "Мой пул хранения" -FriendlyName TieredSpace -StorageTiers @($ ssd_tier, $ hdd_tier) -StorageTierSizes @(50GB, 300GB) -ResiliditySettingName Mirror -WriteCacheSize 2GB

Примечание. После создания виртуального диска его WriteCacheSize нельзя изменить.

Источник: http://windowsitpro.com/windows-server-2012-r2/set-windows-server-2012-r2-storage-space-write-back-cache

Вообще говоря, Storage Spaces WBC не оптимизирован для большой емкости кеша, и я, в любом случае, не выделил бы больше 5 ГБ.

Кроме того, как заметил @ BaronSamedi1958, распределенный кэш ОЗУ - гораздо лучший способ ускорить ввод-вывод, и реализация кэша StarWind определенно стоит попробовать.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .