Použití mezipaměti pro čtení v paměti v souboru CSV
Platí pro: Azure Stack HCI, verze 22H2 a 21H2; Windows Server 2022, Windows Server 2019, Windows Server 2016
Důležité
Azure Stack HCI je teď součástí Azure Local. Probíhá přejmenování dokumentace k produktu. Starší verze Azure Stack HCI, například 22H2, ale budou dál odkazovat na Azure Stack HCI a nebudou odrážet změnu názvu. Další informace.
Toto téma popisuje, jak pomocí systémové paměti zvýšit výkon Azure Stack HCI a Windows Serveru ukládáním častých čtení do mezipaměti. Zápisy nelze ukládat do mezipaměti v paměti.
Azure Stack HCI a Windows Server jsou kompatibilní se sdílenou mezipamětí clusteru (CSV) v paměti. Použití systémové paměti k ukládání čtení do mezipaměti může zlepšit výkon pro aplikace, jako je Hyper-V, které pro přístup k souborům VHD nebo VHDX používají nepřipojené vstupně-výstupní operace. (Nepřipojené vstupně-výstupní operace jsou všechny operace, které nejsou uložené ve Správci mezipaměti systému Windows.)
Vzhledem k tomu, že mezipaměť v paměti je místní server, zlepšuje umístění dat. Poslední čtení se ukládají do mezipaměti na stejném hostiteli, na kterém je spuštěný virtuální počítač, což snižuje četnost čtení v síti. Výsledkem je nižší latence a vyšší výkon úložiště.
Všimněte si, že mezipaměť pro čtení v paměti sdíleného svazku clusteru se liší od mezipaměti fondu úložiště.
Aspekty plánování
Mezipaměť čtení v paměti je nejúčinnější pro úlohy náročné na čtení, jako je Infrastruktura virtuálních klientských počítačů (VDI). Naopak pokud je úloha extrémně náročná na zápis, může mezipaměť zavádět větší režii než hodnotu a měla by být zakázaná.
Pro mezipaměť pro čtení v paměti sdíleného svazku clusteru můžete použít až 80 % celkové fyzické paměti. Dávejte pozor, abyste nechali dostatek paměti pro virtuální počítače!
Poznámka:
Některé nástroje mikrobenchmarkingu, jako jsou DISKSPD a VM Fleet , můžou vést k horším výsledkům s povolenou mezipamětí pro čtení v paměti než bez něj. Ve výchozím nastavení vytvoří flotila virtuálních počítačů jednu 10 GiB VHDX na virtuální počítač – přibližně 1 TiB celkem pro 100 virtuálních počítačů – a pak do nich provádí jednotně náhodné čtení a zápisy. Na rozdíl od skutečných úloh se čtení nedodržuje předvídatelného ani opakujícího se vzoru, takže mezipaměť v paměti není efektivní a způsobuje režii.
Konfigurace mezipaměti pro čtení v paměti
Mezipaměť čtení v paměti sdíleného svazku clusteru je k dispozici ve službě Azure Stack HCI, Windows Serveru 2019 a Windows Serveru 2016 se stejnými funkcemi. V Azure Stack HCI a Windows Serveru 2019 je ve výchozím nastavení zapnutý s přiděleným 1 gibibatem (GiB). Ve Windows Serveru 2016 je ve výchozím nastavení vypnutý.
Verze operačního systému | Výchozí velikost mezipaměti CSV |
---|---|
Azure Stack HCI | 1 GiB |
Windows Server 2019 | 1 GiB |
Windows Server 2016 | 0 (zakázáno) |
Konfigurace mezipaměti pomocí Centra pro správu Windows
Pokud chcete nakonfigurovat mezipaměť pomocí Centra pro správu Systému Windows, postupujte takto:
- V Centru pro správu Windows se připojte ke clusteru a pak v podokně Nástroje vlevo vyberte Nastavení.
- V části Úložiště v podokně Nastavení vyberte mezipaměť v paměti.
- V pravém podokně zaškrtávací políčko povolí nebo zakáže mezipaměť a můžete také zadat maximální paměť na server, který se má přidělit mezipaměti.
- Až budete hotovi, vyberte Uložit.
Konfigurace mezipaměti pomocí PowerShellu
Pokud chcete zjistit, kolik paměti je přiděleno pomocí PowerShellu, spusťte následující příkaz jako správce:
(Get-Cluster).BlockCacheSize
Vrácená hodnota je v mebibajtech (MiB) na server. Například 1024
představuje 1 GiB.
Pokud chcete změnit, kolik paměti je přiděleno, upravte tuto hodnotu pomocí PowerShellu. Pokud chcete například přidělit 2 GiB na server, spusťte:
(Get-Cluster).BlockCacheSize = 2048
Aby se změny projevily okamžitě, pozastavte a pak obnovte svazky sdíleného svazku clusteru nebo je přesuňte mezi servery. Tento fragment PowerShellu můžete například použít k přesunutí každého sdíleného svazku clusteru do jiného uzlu serveru a zpět:
Get-ClusterSharedVolume | ForEach {
$Owner = $_.OwnerNode
$_ | Move-ClusterSharedVolume
$_ | Move-ClusterSharedVolume -Node $Owner
}
Další kroky
Související informace najdete také: