De leescache van het CSV-bestand in het geheugen 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 regelmatig leesbewerkingen in de cache te plaatsen. Schrijfacties kunnen niet in de geheugen-cache worden opgeslagen.
Azure Stack HCI en Windows Server zijn compatibel met de leescache voor het cluster shared volume (CSV) in het geheugen. Het gebruik van systeemgeheugen om leesbewerkingen in de cache te plaatsen, kan de prestaties verbeteren voor toepassingen zoals Hyper-V, die gebruikmaakt van niet-gebufferde I/O voor toegang tot VHD- of VHDX-bestanden. (Niet-gebufferde I/Os zijn bewerkingen die niet in de cache worden opgeslagen door Windows CacheBeheer.)
Omdat de cache in het geheugen server-lokaal is, verbetert deze 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 wordt verminderd hoe vaak leesbewerkingen via het netwerk worden uitgevoerd. Dit resulteert in lagere latentie en betere opslagprestaties.
Houd er rekening mee dat de leescache van csv in het geheugen verschilt van de cache van de opslaggroep.
Overwegingen bij het plannen
De leescache in het geheugen is het meest effectief voor leesintensieve workloads, zoals Virtual Desktop Infrastructure (VDI). Als de workload echter extreem 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 voor uw VM's achterlaat.
Notitie
Bepaalde hulpprogramma's voor microbenchmarking zoals DISKSPD en VM Fleet kunnen slechtere resultaten opleveren met de leescache in het geheugen van csv ingeschakeld dan zonder deze. Vm Fleet maakt standaard één VHDX van 10 GiB per VM (ongeveer 1 TiB totaal voor 100 VM's) en voert vervolgens uniforme willekeurige lees- en schrijfbewerkingen uit. In tegenstelling tot echte workloads, volgen de leesbewerkingen geen voorspelbaar of herhalend patroon, dus de geheugencache is niet effectief en zorgt alleen voor overhead.
De leescache in het geheugen configureren
De leescache in het geheugen van CSV 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.
Versie van het besturingssysteem | 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 Het Windows-beheercentrum
Ga als volgt te werk om de cache te configureren met behulp van het Windows-beheercentrum:
- Maak in het Windows-beheercentrum verbinding met een cluster en selecteer vervolgens Instellingen in het deelvenster Extra aan de linkerkant.
- Selecteer geheugen-cache onder opslag in het deelvenster instellingen.
- In het rechterdeelvenster wordt de cache ingeschakeld of uitgeschakeld door een selectievakje en kunt u ook het maximumgeheugen per server opgeven dat aan de cache moet worden toegewezen.
- Wanneer u klaar bent, selecteert u Opslaan.
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.
1024
vertegenwoordigt bijvoorbeeld 1 GiB.
Als u wilt wijzigen hoeveel geheugen is 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 wijzigingen onmiddellijk van kracht worden, pauzeert en hervat u vervolgens uw CSV-volumes of verplaatst u deze tussen servers. Gebruik bijvoorbeeld dit PowerShell-fragment om elk CSV-bestand naar een ander serverknooppunt te verplaatsen en opnieuw terug te zetten:
Get-ClusterSharedVolume | ForEach {
$Owner = $_.OwnerNode
$_ | Move-ClusterSharedVolume
$_ | Move-ClusterSharedVolume -Node $Owner
}
Volgende stappen
Zie ook voor gerelateerde informatie: