Примечание
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: 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 отличается от кэша пула хранения.
Planning considerations
Кэш чтения в памяти наиболее эффективен для рабочих нагрузок с интенсивным чтением, таких как инфраструктура виртуальных рабочих столов (VDI). И наоборот, если рабочая нагрузка крайне трудоемкая для записи, кэш может привести к большей нагрузке, чем значение, и его следует отключить.
Вы можете использовать до 80% общей физической памяти для кэша чтения в оперативной памяти CSV. Будьте осторожны, чтобы оставить достаточно памяти для виртуальных машин!
Note
Certain microbenchmarking tools like DISKSPD and VM Fleet may produce worse results with the CSV in-memory read cache enabled than without it. By default VM Fleet creates one 10 GiB VHDX per VM – approximately 1 TiB total for 100 VMs – and then performs uniformly random reads and writes to them. В отличие от реальных рабочих нагрузок, операции чтения не соответствуют каким-либо прогнозируемым или повторяющимся шаблонам, поэтому кэш в памяти не является эффективным и просто несет издержки.
Настройка кэша чтения в памяти
Кэш чтения в памяти CSV доступен в Azure Stack HCI, Windows Server 2019 и Windows Server 2016 с теми же функциями. В Azure Stack HCI и Windows Server 2019 по умолчанию включен с выделением 1 гибибайта (GiB). В Windows Server 2016 он отключен по умолчанию.
OS version | Размер кэша CSV по умолчанию |
---|---|
Azure Stack HCI | 1 GiB |
Windows Server 2019 | 1 GiB |
Windows Server 2016 | 0 (disabled) |
Настройка кэша с помощью Windows Admin Center
Чтобы настроить кэш с помощью Windows Admin Center, сделайте следующее:
- In Windows Admin Center, connect to a cluster, and then select Settings from the Tools pane on the left.
- Select In-memory cache under Storage on the Settings pane.
- В правой области флажок включает или отключает кэш, а также можно указать максимальный объем памяти на сервер, выделенный для кэша.
- When done, select Save.
Настройка кэша с помощью PowerShell
Чтобы узнать, сколько памяти выделено с помощью PowerShell, выполните следующую команду от имени администратора:
(Get-Cluster).BlockCacheSize
Возвращаемое значение выражено в мебибайтах (MiB) на сервер. Например, 1024
представляет 1 ГиБ.
Чтобы изменить объем выделенной памяти, измените это значение с помощью PowerShell. Например, чтобы выделить 2 ГиБ на сервер, выполните следующую команду:
(Get-Cluster).BlockCacheSize = 2048
Чтобы изменения вступили в силу немедленно, приостанавливайте и возобновляйте тома CSV или перемещайте их между серверами. Например, используйте этот фрагмент PowerShell для перемещения каждого CSV-файла на другой узел сервера и снова:
Get-ClusterSharedVolume | ForEach {
$Owner = $_.OwnerNode
$_ | Move-ClusterSharedVolume
$_ | Move-ClusterSharedVolume -Node $Owner
}
Next steps
Дополнительные сведения см. также: