De CSV-cache voor in-Memory lezen gebruiken met Azure Stack HCIUse the CSV in-memory read cache with Azure Stack HCI

Van toepassing op: Azure Stack HCI, versie 20H2; Windows Server 2019Applies to: Azure Stack HCI, version 20H2; Windows Server 2019

In dit onderwerp wordt beschreven hoe u systeem geheugen kunt gebruiken om de prestaties van Azure Stack HCI te verhogen door veelvuldige Lees bewerkingen in de cache op te nemen.This topic describes how to use system memory to boost the performance of Azure Stack HCI by caching frequent reads. Schrijf bewerkingen kunnen niet in het geheugen in de cache worden opgeslagen.Writes cannot be cached in memory.

Azure Stack HCI is compatibel met de Lees cache van het Cluster Shared Volume (CSV) in het geheugen.Azure Stack HCI is compatible with the Cluster Shared Volume (CSV) in-memory read cache. Het gebruik van systeem geheugen om Lees bewerkingen in de cache op te slaan kan de prestaties verbeteren voor toepassingen zoals Hyper-V, waarbij niet-gebufferde I/O wordt gebruikt voor toegang tot VHD-of VHDX-bestanden.Using system memory to cache reads can improve performance for applications like Hyper-V, which uses unbuffered I/O to access VHD or VHDX files. (Niet-gebufferde I/O's zijn bewerkingen die niet in de cache worden opgeslagen door Windows-cache beheer.)(Unbuffered I/Os are any operations that are not cached by the Windows Cache Manager.)

Omdat de cache in het geheugen server-local is, verbetert de gegevens locatie: recente Lees bewerkingen worden opgeslagen in het geheugen op dezelfde host waar de virtuele machine wordt uitgevoerd, waardoor het aantal lees bewerkingen van het netwerk afneemt.Because the in-memory cache is server-local, it improves data locality: recent reads are cached in memory on the same host where the virtual machine is running, reducing how often reads go over the network. Dit resulteert in lagere latentie en betere opslag prestaties.This results in lower latency and better storage performance.

Houd er rekening mee dat de CSV-cache voor lezen in het geheugen anders is dan de cache van de opslag groep in azure stack HCI.Note that the CSV in-memory read cache is different from the storage pool cache in Azure Stack HCI.

Overwegingen bij de planningPlanning considerations

De Lees cache in het geheugen is het meest effectief voor lees-intensieve workloads, zoals VDI (Virtual Desktop Infrastructure).The in-memory read cache is most effective for read-intensive workloads, such as Virtual Desktop Infrastructure (VDI). Als de werk belasting zeer veel reken kracht is, kan de cache echter meer overhead veroorzaken dan waarde en moet worden uitgeschakeld.Conversely, if the workload is extremely write-intensive, the cache may introduce more overhead than value and should be disabled.

U kunt Maxi maal 80% van het totale fysieke geheugen gebruiken voor de CSV-cache in het geheugen.You can use up to 80% of total physical memory for the CSV in-memory read cache. Zorg ervoor dat er voldoende geheugen beschikbaar is voor uw virtuele machines.Be careful to leave enough memory for your virtual machines!

Notitie

Bepaalde microbenchmarking-hulpprogram ma's, zoals DISKSPD en VM-vloot , kunnen erger resultaten opleveren met de csv in-Memory-Lees cache die is ingeschakeld dan zonder deze.Certain microbenchmarking tools like DISKSPD and VM Fleet may produce worse results with the CSV in-memory read cache enabled than without it. VM-vloot maakt standaard 1 10 GiB VHDX per virtuele machine – ongeveer 1 TiB totaal voor 100 Vm's – en voert vervolgens eenvormig wille keurige Lees bewerkingen en schrijf bewerkingen uit.By default VM Fleet creates one 10 GiB VHDX per virtual machine – approximately 1 TiB total for 100 VMs – and then performs uniformly random reads and writes to them. In tegens telling tot echte werk belastingen volgen de Lees bewerkingen geen voorspel bare of herhaalde patroon, waardoor de cache in het geheugen niet effectief is en alleen overhead vergt.Unlike real workloads, the reads don't follow any predictable or repetitive pattern, so the in-memory cache is not effective and just incurs overhead.

De Lees cache in het geheugen configurerenConfiguring the in-memory read cache

De CSV-cache voor lezen in het geheugen is beschikbaar in Azure Stack HCI, Windows Server 2019 en Windows Server 2016 met dezelfde functionaliteit.The CSV in-memory read cache is available in Azure Stack HCI, Windows Server 2019, and Windows Server 2016 with the same functionality. In Azure Stack HCI en Windows Server 2019 is het standaard ingeschakeld met 1 gibibyte (GiB) toegewezen.In Azure Stack HCI and Windows Server 2019, it's on by default with 1 gibibyte (GiB) allocated. In Windows Server 2016 is het standaard uitgeschakeld.In Windows Server 2016, it's off by default.

BesturingssysteemversieOS version Standaard grootte van CSV-cacheDefault CSV cache size
Azure Stack HCIAzure Stack HCI 1 GiB1 GiB
Windows Server 2019Windows Server 2019 1 GiB1 GiB
Windows Server 2016Windows Server 2016 0 (uitgeschakeld)0 (disabled)

Als u de cache wilt configureren met behulp van het Windows-beheer centrum, selecteert u instellingen aan de onderkant van het menu extra aan de linkerkant.To configure the cache using Windows Admin Center, select Settings at the very bottom of the Tools menu on the left. Ga vervolgens naar Storage-> in de geheugen cache.Then go to Storage > In-memory cache. Met een selectie vakje wordt de cache in-of uitgeschakeld, en u kunt ook het maximale geheugen per server opgeven dat moet worden toegewezen aan de cache.A checkbox enables or disables the cache, and you can also specify the maximum memory per server to be allocated to the cache. Zorg ervoor dat u onder aan de pagina op Opslaan klikt nadat u de wijzigingen hebt aangebracht.Be sure to click Save at the bottom of the page after making your changes.

Voer uit om te zien hoeveel geheugen wordt toegewezen met Power shell:To see how much memory is allocated using PowerShell, run:

(Get-Cluster).BlockCacheSize

De geretourneerde waarde is in mebibytes (MiB) per server.The value returned is in mebibytes (MiB) per server. Bijvoorbeeld, 1024 vertegenwoordigt 1 GiB.For example, 1024 represents 1 GiB.

Als u wilt wijzigen hoeveel geheugen er wordt toegewezen, wijzigt u deze waarde met behulp van Power shell.To change how much memory is allocated, modify this value using PowerShell. Als u bijvoorbeeld 2 GiB per server wilt toewijzen, voert u de volgende handelingen uit:For example, to allocate 2 GiB per server, run:

(Get-Cluster).BlockCacheSize = 2048

Als u de wijzigingen onmiddellijk wilt door voeren, moet u de CSV-volumes hervatten of verplaatsen tussen servers.For changes to take effect immediately, pause then resume your CSV volumes, or move them between servers. Gebruik dit Power shell-fragment bijvoorbeeld om elk CSV naar een ander server knooppunt te verplaatsen en weer terug te zetten:For example, use this PowerShell fragment to move each CSV to another server node and back again:

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

Volgende stappenNext steps

Zie voor verwante informatie ook:For related information, see also: