De leescache in het geheugen van CSV gebruiken

Van toepassing op: Azure Stack HCI, versies 22H2 en 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

In dit onderwerp wordt beschreven hoe u systeemgeheugen gebruikt om de prestaties van Azure Stack HCI en Windows Server te verbeteren door frequente leesbewerkingen in de cache op te cachen. Schrijfbewerkingen kunnen niet in het geheugen in de cache worden opgeslagen.

Azure Stack HCI en Windows Server zijn compatibel met de csv-cache (Cluster Shared Volume) in het geheugen. Het gebruik van systeemgeheugen om leesbewerkingen in de cache te plaatsen, kan de prestaties verbeteren voor toepassingen zoals Hyper-V, die niet-gebufferde I/O gebruikt voor toegang tot VHD- of VHDX-bestanden. (Niet-gebufferde I/O's zijn bewerkingen die niet in de cache worden opgeslagen in Windows Cachebeheer.)

Omdat de cache in het geheugen server-lokaal is, verbetert het de locatie van de gegevens. Recente leesbewerkingen worden in de cache opgeslagen in het geheugen op dezelfde host waarop de virtuele machine (VM) wordt uitgevoerd, waardoor leesbewerkingen minder vaak via het netwerk worden uitgevoerd. Dit resulteert in een lagere latentie en betere opslagprestaties.

Houd er rekening mee dat de csv-leescache in het geheugen verschilt van de cache van de opslaggroep.

Overwegingen bij de planning

De leescache in het geheugen is het meest effectief voor leesintensieve workloads, zoals Virtual Desktop Infrastructure (VDI). Als de werkbelasting daarentegen zeer schrijfintensief is, kan de cache meer overhead dan waarde veroorzaken en moet deze worden uitgeschakeld.

U kunt maximaal 80% van het totale fysieke geheugen gebruiken voor de csv-leescache in het geheugen. Zorg ervoor dat u voldoende geheugen overlaat voor uw VM's.

Notitie

Bepaalde microbenchmarking-hulpprogramma's, zoals DISKSPD en VM Fleet , kunnen slechtere resultaten opleveren als de CSV-leescache in het geheugen is ingeschakeld dan zonder. Standaard maakt VM Fleet één 10 GiB VHDX per VM ( ongeveer 1 TiB in totaal voor 100 VM's) en voert vervolgens uniform willekeurige lees- en schrijfbewerkingen naar deze vm's uit. In tegenstelling tot echte werkbelastingen volgen de leesbewerkingen geen voorspelbaar of herhalend patroon, dus de cache in het geheugen is niet effectief en maakt alleen gebruik van overhead.

De leescache in het geheugen configureren

De csv-leescache in het geheugen is beschikbaar in Azure Stack HCI, Windows Server 2019 en Windows Server 2016 met dezelfde functionaliteit. In Azure Stack HCI en Windows Server 2019 is deze standaard ingeschakeld met 1 gibibyte (GiB) toegewezen. In Windows Server 2016 is deze standaard uitgeschakeld.

Besturingssysteemversie Standaardgrootte van CSV-cache
Azure Stack HCI 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (uitgeschakeld)

De cache configureren met behulp van Windows Admin Center

Ga als volgt te werk om de cache te configureren met behulp van Windows Admin Center:

  1. Maak in Windows Admin Center verbinding met een cluster en selecteer vervolgens Instellingen in het deelvenster Extra aan de linkerkant.
  2. Selecteer In-memory cache onder Opslag in het deelvenster Instellingen .
  3. In het rechterdeelvenster wordt de cache met een selectievakje in- of uitgeschakeld. U kunt ook het maximale geheugen per server opgeven dat aan de cache moet worden toegewezen.
  4. Selecteer Opslaan wanneer u klaar bent.

In Windows Admin Center schakelt een selectievakje de cache in of uit. U kunt ook het maximale geheugen per server opgeven dat aan de cache moet worden toegewezen.

De cache configureren met Behulp van PowerShell

Als u wilt zien hoeveel geheugen is toegewezen met behulp van PowerShell, voert u het volgende uit als beheerder:

(Get-Cluster).BlockCacheSize

De geretourneerde waarde is in mebibytes (MiB) per server. Vertegenwoordigt bijvoorbeeld 1024 1 GiB.

Als u wilt wijzigen hoeveel geheugen wordt toegewezen, wijzigt u deze waarde met behulp van PowerShell. Als u bijvoorbeeld 2 GiB per server wilt toewijzen, voert u het volgende uit:

(Get-Cluster).BlockCacheSize = 2048

Als u wilt dat wijzigingen onmiddellijk van kracht worden, pauzeert en hervat u de CSV-volumes of verplaatst u ze tussen servers. Gebruik bijvoorbeeld dit PowerShell-fragment om elk CSV-bestand te verplaatsen naar een ander serverknooppunt en weer terug:

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

Volgende stappen

Zie ook voor gerelateerde informatie: