Używanie pamięci podręcznej odczytu z woluminu CSV w pamięci

Dotyczy: Azure Stack HCI, wersje 21H2 i 20H2; Windows Server 2022, Windows Server 2019, Windows Server 2016

W tym temacie opisano sposób użycia pamięci systemowej w celu zwiększenia wydajności Azure Stack HCI przez buforowanie częstych odczytów. Zapisu nie można buforować w pamięci.

Azure Stack HCI jest zgodna z udostępniony wolumin klastra (CSV) w pamięci podręcznej odczytu. Użycie pamięci systemowej do buforowania odczytów może poprawić wydajność aplikacji, takich jak funkcja Hyper-V, która korzysta z niebuforowanych we/wy w celu uzyskania dostępu do plików VHD lub VHDX. (Niebuforowane operacje We/Wy są operacjami, które nie są buforowane przez Windows Cache Manager).

Ponieważ pamięć podręczna w pamięci jest lokalna dla serwera, zwiększa lokalność danych: ostatnie odczyty są buforowane w pamięci na tym samym hoście, na którym jest uruchomiona maszyna wirtualna, co zmniejsza częstość odczytu w sieci. Skutkuje to niższym opóźnieniem i lepszą wydajnością magazynu.

Pamiętaj, że pamięć podręczna odczytu w pamięci woluminu CSV różni się od pamięci podręcznej puli magazynów.

Kwestie dotyczące planowania

Pamięć podręczna odczytu w pamięci jest najbardziej efektywna w przypadku obciążeń intensywnie odczytu, takich jak infrastruktura pulpitu wirtualnego (VDI). I odwrotnie, jeśli obciążenie jest bardzo obciążane zapisem, pamięć podręczna może powodować większe obciążenie niż wartość i powinna zostać wyłączona.

Można użyć do 80% całkowitej pamięci fizycznej dla pamięci podręcznej odczytu woluminów CSV w pamięci. Uważaj, aby pozostawić wystarczającą ilość pamięci dla maszyn wirtualnych!

Uwaga

Niektóre narzędzia do oznaczania mikrobłędami, takie jak DISKSPD i VM Fleet, mogą dawać gorsze wyniki, jeśli włączono pamięć podręczną odczytu w woluminie CSV niż bez niej. Domyślnie flota maszyn wirtualnych tworzy jeden dysk VHDX o rozmiarze 10 GiB na maszynę wirtualną — łącznie około 1 TiB dla 100 maszyn wirtualnych — a następnie wykonuje na nich jednolicie losowe operacje odczytu i zapisu. W przeciwieństwie do rzeczywistych obciążeń odczyty nie są zgodne z żadnym przewidywalnym lub powtarzalnym wzorcem, dlatego pamięć podręczna w pamięci nie jest efektywna i po prostu wiąże się z obciążeniem.

Konfigurowanie pamięci podręcznej odczytu w pamięci

Pamięć podręczna odczytu w pamięci CSV jest dostępna w programach Azure Stack HCI, Windows Server 2019 i Windows Server 2016 z taką samą funkcjonalnością. W Azure Stack HCI i Windows Server 2019 jest on domyślnie wł. z przydzielonym 1 gibibajtem (GiB). W Windows Server 2016 jest domyślnie wyłączona.

Wersja systemu operacyjnego Domyślny rozmiar pamięci podręcznej woluminów CSV
Azure Stack HCI 1 GiB
Windows Server 2019 1 GiB
Windows Server 2016 0 (wyłączone)

Konfigurowanie pamięci podręcznej przy użyciu Windows Administracyjnego

Aby skonfigurować pamięć podręczną przy użyciu Windows Administracyjnego, wybierz Ustawienia u dołu menu Narzędzia po lewej stronie. Następnie przejdź do Storage w pamięci podręcznej. Pole wyboru włącza lub wyłącza pamięć podręczną, a także można określić maksymalną ilość pamięci na serwer, który ma zostać przydzielony do pamięci podręcznej. Pamiętaj, aby po wymusieniu zmian kliknąć przycisk Zapisz w dolnej części strony.

W Windows administracyjnym pole wyboru włącza lub wyłącza pamięć podręczną. Można również określić maksymalną ilość pamięci na serwer, która ma zostać przydzielona do pamięci podręcznej.

Konfigurowanie pamięci podręcznej przy użyciu programu PowerShell

Aby sprawdzić, ile pamięci jest przydzielanych przy użyciu programu PowerShell, uruchom:

(Get-Cluster).BlockCacheSize

Zwracana wartość to mebibajty (MiB) na serwer. Na przykład reprezentuje 1024 1 GiB.

Aby zmienić ilość przydzielonej pamięci, zmodyfikuj tę wartość przy użyciu programu PowerShell. Aby na przykład przydzielić 2 GiB na serwer, uruchom:

(Get-Cluster).BlockCacheSize = 2048

Aby zmiany zostały wprowadzone natychmiast, wstrzymaj, a następnie wznów woluminy CSV lub przenieś je między serwerami. Na przykład użyj tego fragmentu programu PowerShell, aby przenieść każdy wolumin CSV do innego węzła serwera i z powrotem:

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

Następne kroki

Aby uzyskać powiązane informacje, zobacz również: