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
Belangrijk
Azure Stack HCI maakt nu deel uit van Azure Local. De naam van productdocumentatie wordt nog steeds bijgewerkt. Oudere versies van Azure Stack HCI, bijvoorbeeld 22H2, blijven verwijzen naar Azure Stack HCI en geven de naamwijziging niet weer. Meer informatie.
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. Schrijfbewerkingen kunnen niet in de cache worden opgeslagen in het geheugen.
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 het CSV-bestand 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 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 voor de leescache in het geheugen van csv gebruiken. 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 10 GiB-VHDX per VM , ongeveer 1 TiB in totaal voor 100 VM's, en voert vervolgens uniform willekeurige lees- en schrijfbewerkingen naar deze machines uit. In tegenstelling tot echte workloads, volgen de leesbewerkingen geen voorspelbaar of herhalend patroon, dus de cache in het geheugen is niet effectief en heeft alleen 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.
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 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 instellingen in het deelvenster Extra aan de linkerkant.
- Selecteer Cache in het geheugen 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.
- Selecteer Opslaan wanneer u klaar bent.
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 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: