Использование кэша CSV в памяти для операций чтения
Область применения: Azure Stack HCI версий 22H2 и 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
В этом разделе описывается, как использовать системную память для повышения производительности Azure Stack HCI и Windows Server за счет кэширования частых операций чтения. Операции записи не могут кэшироваться в памяти.
Azure Stack HCI и Windows Server совместимы с кэшем чтения общего тома кластера (CSV) в памяти. Использование системной памяти для кэширования операций чтения может повысить производительность таких приложений, как Hyper-V, которая использует небуферированные операции ввода-вывода для доступа к файлам VHD или VHDX. (Небуферированные операции ввода-вывода — это любые операции, которые не кэшируются диспетчером кэша Windows.)
Так как кэш в памяти является локальным на сервере, он улучшает локальность данных. Последние операции чтения кэшируются в памяти на том же узле, где работает виртуальная машина, что сокращает частоту операций чтения по сети. Это приводит к снижению задержки и повышению производительности хранилища.
Обратите внимание, что кэш чтения CSV в памяти отличается от кэша пула носителей.
Общие вопросы планирования
Кэш чтения в памяти наиболее эффективен для рабочих нагрузок с интенсивным чтением, таких как инфраструктура виртуальных рабочих столов (VDI). И наоборот, если рабочая нагрузка очень интенсивно записывается, кэш может привести к большим затратам, чем значение, и его следует отключить.
Вы можете использовать до 80 % общей физической памяти для кэша чтения CSV в памяти. Будьте внимательны, чтобы оставить достаточно памяти для виртуальных машин!
Примечание
Некоторые средства микробншмаркинга, такие как DISKSPD и vm Fleet , могут давать худшие результаты при включенном кэше чтения CSV в памяти, чем без него. По умолчанию парк виртуальных машин создает 10 ГиБ VHDX для каждой виртуальной машины ( всего около 1 ТиБ для 100 виртуальных машин), а затем выполняет в них равномерно случайные операции чтения и записи. В отличие от реальных рабочих нагрузок, операции чтения не соответствуют прогнозируемому или повторяющимся шаблону, поэтому кэш в памяти не является эффективным и просто вызывает накладные расходы.
Настройка кэша чтения в памяти
Кэш чтения CSV в памяти доступен в Azure Stack HCI, Windows Server 2019 и Windows Server 2016 с теми же функциями. В Azure Stack HCI и Windows Server 2019 он включен по умолчанию с выделенным 1 гибибайтом (ГиБ). В Windows Server 2016 она отключена по умолчанию.
Версия ОС | Размер кэша CSV по умолчанию |
---|---|
Azure Stack HCI | 1 ГиБ |
Windows Server 2019 | 1 ГиБ |
Windows Server 2016 | 0 (отключено) |
Настройка кэша с помощью Windows Admin Center
Чтобы настроить кэш с помощью Windows Admin Center, выполните следующие действия.
- В Windows Admin Center подключитесь к кластеру, а затем выберите Параметры в области Сервис слева.
- Выберите Кэш в памяти в разделе Хранилище на панели Параметры .
- В правой области флажок включает или отключает кэш, а также можно указать максимальный объем памяти для каждого сервера, выделяемого для кэша.
- Затем нажмите кнопку Сохранить.
Настройка кэша с помощью PowerShell
Чтобы узнать, сколько памяти выделяется с помощью PowerShell, выполните следующую команду от имени администратора:
(Get-Cluster).BlockCacheSize
Возвращаемое значение — в мебибайтах (МиБ) на сервер. Например, 1024
представляет 1 ГиБ.
Чтобы изменить объем выделенной памяти, измените это значение с помощью PowerShell. Например, чтобы выделить 2 ГиБ на сервер, выполните следующую команду:
(Get-Cluster).BlockCacheSize = 2048
Чтобы изменения вступили в силу немедленно, приостановите, а затем возобновите тома CSV или переместите их между серверами. Например, используйте этот фрагмент PowerShell для перемещения каждого CSV-файла на другой узел сервера и обратно:
Get-ClusterSharedVolume | ForEach {
$Owner = $_.OwnerNode
$_ | Move-ClusterSharedVolume
$_ | Move-ClusterSharedVolume -Node $Owner
}
Дальнейшие действия
Дополнительные сведения см. также в разделе: