Použití mezipaměti pro čtení v paměti sdíleného svazku clusteru

Platí pro: Azure Stack HCI verze 22H2 a 21H2; Windows Server 2022, Windows Server 2019 Windows Server 2016

Toto téma popisuje, jak použít systémovou paměť ke zvýšení výkonu Azure Stack HCI a Windows Serveru tím, že se častá čtení ukládají do mezipaměti. Zápisy nelze ukládat do mezipaměti.

Azure Stack HCI a Windows Server jsou kompatibilní s mezipamětí čtení sdíleného svazku clusteru (CSV). Použití systémové paměti k ukládání čtení do mezipaměti může zlepšit výkon aplikací, jako je Hyper-V, které používají vstupně-výstupní operace bez vyrovnávací paměti pro přístup k souborům VHD nebo VHDX. (Vstupně-výstupní operace bez vyrovnávací paměti jsou operace, které nejsou uložené v mezipaměti Správce mezipaměti systému Windows.)

Vzhledem k tomu, že mezipaměť v paměti je místní server, zlepšuje umístění dat. Nedávná čtení se ukládají do mezipaměti na stejném hostiteli, na kterém je virtuální počítač spuštěný, což snižuje četnost čtení přes síť. Výsledkem je nižší latence a lepší 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ěť pro č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ěť představovat větší režii, než je hodnota, a proto by se měla zakázat.

Pro mezipaměť sdíleného svazku clusteru pro čtení v paměti můžete využít až 80 % celkové fyzické paměti. Dbejte na to, abyste měli pro virtuální počítače dostatek paměti.

Poznámka

Některé nástroje mikrobenchmarkingu, jako jsou DISKSPD a VM Fleet , můžou při povolené mezipaměti pro čtení v paměti sdíleného svazku clusteru dosáhnout horších výsledků než bez ní. Ve výchozím nastavení vytvoří flotila virtuálních počítačů jeden virtuální pevný disk o velikosti 10 GiB pro každý virtuální počítač – celkem přibližně 1 TiB 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í neřídí předvídatelným ani opakujícím se vzorem, takže mezipaměť v paměti není efektivní a jen s sebou nese režijní náklady.

Konfigurace mezipaměti pro čtení v paměti

Mezipaměť pro čtení v paměti sdíleného svazku clusteru je dostupná v Azure Stack HCI, Windows Serveru 2019 a Windows Server 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 gibibajtem (GiB). Ve Windows Server 2016 je ve výchozím nastavení vypnutá.

Verze operačního systému Výchozí velikost mezipaměti sdíleného svazku clusteru
Azure Stack HCI 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (zakázáno)

Konfigurace mezipaměti pomocí Windows Admin Center

Pokud chcete nakonfigurovat mezipaměť pomocí Windows Admin Center, postupujte takto:

  1. V Windows Admin Center se připojte ke clusteru a pak v podokně Nástroje na levé straně vyberte Nastavení.
  2. V části Úložiště v podokně Nastavení vyberte Mezipaměť v paměti.
  3. 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á mezipaměti přidělit.
  4. Až budete hotovi, vyberte Uložit.

V Windows Admin Center zaškrtávací políčko mezipaměť povolí nebo zakáže. Můžete také zadat maximální paměť na server, která se má mezipaměti přidělit.

Konfigurace mezipaměti pomocí PowerShellu

Pokud chcete zjistit, kolik paměti je přiděleno pomocí PowerShellu, spusťte jako správce následující příkaz:

(Get-Cluster).BlockCacheSize

Vrácená hodnota je v mebibajtech (MiB) na server. Například 1024 představuje 1 GiB.

Pokud chcete změnit množství přidělené paměti, upravte tuto hodnotu pomocí PowerShellu. Pokud například chcete 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é v tématech: