Заметка
Доступ к этой странице требует авторизации. Вы можете попробовать войти в систему или изменить каталог.
Доступ к этой странице требует авторизации. Вы можете попробовать сменить директорию.
В этом разделе описывается, как использовать системную память для повышения производительности локальной среды Azure и Windows Server путем кэширования частых операций чтения. Записи нельзя кэшировать в памяти.
Локальный и Windows Server совместимы с кэшем чтения общего тома кластера (CSV). Использование системной памяти для кэширования операций чтения может повысить производительность приложений, таких как Hyper-V, которая использует неуправляемый ввод-вывод для доступа к файлам VHD или VHDX. (Операции ввода-вывода без буферизации — это любые операции, которые не кэшируются диспетчером кэша Windows.)
Поскольку кэш в памяти привязан к серверу, это улучшает локальность данных. Последние операции чтения кэшируются в памяти на том же узле, где выполняется виртуальная машина, уменьшая частоту операций чтения по сети. Это приводит к снижению задержки и повышению производительности хранилища.
Обратите внимание, что кэш чтения в памяти CSV отличается от кэша пула хранения.
Рекомендации по планированию
Кэш чтения в памяти наиболее эффективен для рабочих нагрузок с интенсивным чтением, таких как инфраструктура виртуальных рабочих столов (VDI). И наоборот, если рабочая нагрузка крайне трудоемкая для записи, кэш может привести к большей нагрузке, чем значение, и его следует отключить.
Вы можете использовать до 80% общей физической памяти для кэша чтения в оперативной памяти CSV. Будьте осторожны, чтобы оставить достаточно памяти для виртуальных машин!
Note
Некоторые средства микробнчмаркинга, такие как DISKSPD и vm Fleet , могут привести к худшим результатам с включенным кэшем чтения в памяти CSV, чем без него. По умолчанию виртуальный парк виртуальных машин создает один 10 ГиБ VHDX на виртуальную машину — примерно 1 ТиБ для 100 виртуальных машин, а затем выполняет равномерно случайные операции чтения и записи в них. В отличие от реальных рабочих нагрузок, операции чтения не соответствуют каким-либо прогнозируемым или повторяющимся шаблонам, поэтому кэш в памяти не является эффективным и просто несет издержки.
Настройка кэша чтения в памяти
Кэш чтения в памяти CSV доступен в локальной среде Azure, Windows Server 2019 и Windows Server 2016 с теми же функциями. В Локальной среде Azure и Windows Server 2019 он включен по умолчанию с выделенным 1 гибибайтом (GiB). В Windows Server 2016 он отключен по умолчанию.
| Версия ОС | Размер кэша CSV по умолчанию |
|---|---|
| Azure Local | 1 ГиБ |
| Windows Server 2019 | 1 ГиБ |
| Windows Server 2016 | 0 (отключено) |
Настройка кэша с помощью Windows Admin Center
Чтобы настроить кэш с помощью Windows Admin Center, сделайте следующее:
- В Windows Admin Center подключитесь к кластеру и выберите "Параметры " в области "Сервис " слева.
- Выберите кэш в памяти в разделе "Хранилище " на панели "Параметры ".
- В правой области флажок включает или отключает кэш, а также можно указать максимальный объем памяти на сервер, выделенный для кэша.
- По завершении нажмите кнопку "Сохранить".
Настройка кэша с помощью 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
}
Дальнейшие шаги
Дополнительные сведения см. также: