Använda CSV:ens minnesinterna läscache

Gäller för: Azure Stack HCI, versionerna 21H2 och 20H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

Det här avsnittet beskriver hur du använder systemminne för att öka prestandan för Azure Stack HCI och Windows Server genom att cachelagra frekventa läsningar. Skrivningar kan inte cachelagras i minnet.

Azure Stack HCI och Windows Server är kompatibla med den klusterdelade volymen (CSV) minnesintern läscachen. Användning av systemminne för cacheläsningar kan förbättra prestanda för program som Hyper-V, som använder obufferterad I/O för att komma åt VHD- eller VHDX-filer. (Obuffererad I/Os är alla åtgärder som inte cachelagras av Windows Cache Manager.)

Eftersom minnesintern cache är serverlokal, förbättrar den datalokaliteten: de senaste läsningarna cachelagras i minnet på samma värd där den virtuella datorn (VM) körs, vilket minskar hur ofta läsningar går över nätverket. Detta resulterar i kortare svarstider och bättre lagringsprestanda.

Observera att CSV:ens minnesinterna läscachen skiljer sig från cacheminnet för lagringspoolen.

Överväganden vid planering

Minnesintern läscachen är mest effektiv för läsintensiva arbetsbelastningar, till exempel VDI (Virtual Desktop Infrastructure). Om arbetsbelastningen däremot är extremt skrivintensiv kan cachen medföra mer omkostnader än värde och bör inaktiveras.

Du kan använda upp till 80 % av det totala fysiska minnet för csv-minnesintern läscachen. Var noga med att lämna tillräckligt med minne för dina virtuella datorer!

Anteckning

Vissa mikrobenchmarkeringsverktyg som DISKSPD och VM Fleet kan ge sämre resultat med CSV-minnesintern läscachen aktiverad än utan den. Som standard skapar VM-flottan en 10 GiB VHDX per virtuell dator – cirka 1 TiB totalt för 100 virtuella datorer – och utför sedan enhetligt slumpmässiga läsningar och skrivningar till dem. Till skillnad från verkliga arbetsbelastningar följer läsningarna inte något förutsägbart eller repetitivt mönster, så minnesintern cache är inte effektiv och medför bara omkostnader.

Konfigurera minnesintern läscache

CSV:s minnesinterna läscachen är tillgänglig i Azure Stack HCI, Windows Server 2019 och Windows Server 2016 med samma funktioner. I Azure Stack HCI och Windows Server 2019 är det aktiverat som standard med 1 gibibyte (GiB) allokerat. I Windows Server 2016 är det inaktiverat som standard.

OS-version Standardstorlek för CSV-cache
Azure Stack HCI 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (inaktiverad)

Konfigurera cachen med Windows Admin Center

Om du vill konfigurera cachen med Windows Admin Center väljer du Inställningar längst ned på verktygsmenyn till vänster. Gå sedan till Storage > minnesintern cache. En kryssruta aktiverar eller inaktiverar cachen och du kan också ange det maximala minne per server som ska allokeras till cachen. Se till att klicka på Spara längst ned på sidan när du har gjort ändringarna.

In Windows Admin Center, a checkbox enables or disables the cache. You can also specify the maximum memory per server to be allocated to the cache.

Konfigurera cachen med PowerShell

Om du vill se hur mycket minne som allokeras med PowerShell kör du:

(Get-Cluster).BlockCacheSize

Värdet som returneras är i mebibyte (MiB) per server. Representerar till exempel 1024 1 GiB.

Om du vill ändra hur mycket minne som allokeras ändrar du det här värdet med hjälp av PowerShell. Om du till exempel vill allokera 2 GiB per server kör du:

(Get-Cluster).BlockCacheSize = 2048

För att ändringarna ska börja gälla omedelbart pausar du och återupptar sedan dina CSV-volymer eller flyttar dem mellan servrarna. Använd till exempel det här PowerShell-fragmentet för att flytta varje CSV till en annan servernod och tillbaka igen:

Get-ClusterSharedVolume | ForEach {
    $Owner = $_.OwnerNode
    $_ | Move-ClusterSharedVolume
    $_ | Move-ClusterSharedVolume -Node $Owner
}

Nästa steg

Relaterad information finns i även: