Usare la cache di lettura in memoria Volume condiviso cluster
Si applica a: Azure Stack HCI, versioni 22H2 e 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Importante
Azure Stack HCI is now part of Azure Local. La ridenominazione della documentazione del prodotto è in corso. Tuttavia, le versioni precedenti di Azure Stack HCI, ad esempio 22H2 continueranno a fare riferimento ad Azure Stack HCI e non rifletteranno la modifica del nome. Altre informazioni.
Questo argomento descrive come usare la memoria di sistema per migliorare le prestazioni di Azure Stack HCI e Windows Server memorizzando nella cache letture frequenti. Le scritture non possono essere memorizzate nella cache in memoria.
Azure Stack HCI e Windows Server sono compatibili con la cache di lettura in memoria (Volume condiviso cluster). L'uso della memoria di sistema per memorizzare nella cache le letture può migliorare le prestazioni per le applicazioni come Hyper-V, che usa operazioni di I/O non memorizzate nella cache per accedere ai file VHD o VHDX. Le operazioni di I/O non memorizzate nella cache sono operazioni non memorizzate nella cache da Gestione cache di Windows.
Poiché la cache in memoria è locale del server, migliora la località dei dati. Le letture recenti vengono memorizzate nella cache nella memoria nello stesso host in cui è in esecuzione la macchina virtuale(VM), riducendo la frequenza con cui le letture passano in rete. Ciò comporta una latenza inferiore e prestazioni di archiviazione migliori.
Si noti che la cache di lettura in memoria CSV è diversa dalla cache del pool di archiviazione.
Considerazioni sulla pianificazione
La cache di lettura in memoria è più efficace per i carichi di lavoro a elevato utilizzo di lettura, ad esempio Virtual Desktop Infrastructure (VDI). Viceversa, se il carico di lavoro è estremamente intensivo in scrittura, la cache può comportare un sovraccarico maggiore rispetto al valore e deve essere disabilitata.
È possibile usare fino all'80% della memoria fisica totale per la cache di lettura in memoria CSV. Prestare attenzione a lasciare memoria sufficiente per le macchine virtuali.
Nota
Alcuni strumenti di microbenchmarking come DISKSPD e VM Fleet possono produrre risultati peggiori con la cache di lettura in memoria CSV abilitata rispetto a quella senza di essa. Per impostazione predefinita, la flotta di macchine virtuali crea un VHDX GiB 10 GiB per ogni macchina virtuale, circa 1 TiB totale per 100 macchine virtuali, quindi esegue letture e scritture casuali in modo uniforme. A differenza dei carichi di lavoro reali, le letture non seguono alcun modello prevedibile o ripetitivo, quindi la cache in memoria non è efficace e comporta solo un sovraccarico.
Configurazione della cache di lettura in memoria
La cache di lettura in memoria CSV è disponibile in Azure Stack HCI, Windows Server 2019 e Windows Server 2016 con le stesse funzionalità. In Azure Stack HCI e Windows Server 2019 è attivato per impostazione predefinita con 1 gibibyte (GiB) allocato. In Windows Server 2016 è disattivato per impostazione predefinita.
Versione sistema operativo | Dimensioni predefinite della cache CSV |
---|---|
Azure Stack HCI | 1 GiB |
Windows Server 2019 | 1 GiB |
Windows Server 2016 | 0 (disabilitata) |
Configurare la cache con Windows Admin Center
Per configurare la cache con Windows Admin Center, eseguire le operazioni seguenti:
- In Windows Admin Center connettersi a un cluster e quindi selezionare Impostazioni nel riquadro Strumenti a sinistra.
- Selezionare Cache in memoria in Archiviazione nel riquadro Impostazioni .
- Nel riquadro destro, una casella di controllo abilita o disabilita la cache ed è anche possibile specificare la memoria massima per ogni server da allocare alla cache.
- Al termine, selezionare Salva.
Configurare la cache con PowerShell
Per verificare la quantità di memoria allocata tramite PowerShell, eseguire il comando seguente come amministratore:
(Get-Cluster).BlockCacheSize
Il valore restituito è espresso in mebibyte (MiB) per server. Ad esempio, 1024
rappresenta 1 GiB.
Per modificare la quantità di memoria allocata, modificare questo valore usando PowerShell. Ad esempio, per allocare 2 GiB per server, eseguire:
(Get-Cluster).BlockCacheSize = 2048
Per rendere effettive immediatamente le modifiche, sospendere e quindi riprendere i volumi CSV o spostarli tra server. Ad esempio, usare questo frammento di PowerShell per spostare ogni csv in un altro nodo del server e tornare indietro:
Get-ClusterSharedVolume | ForEach {
$Owner = $_.OwnerNode
$_ | Move-ClusterSharedVolume
$_ | Move-ClusterSharedVolume -Node $Owner
}
Passaggi successivi
Per ulteriori informazioni, vedere anche: