Korzystanie z pamięci podręcznej odczytu woluminu CSV

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

W tym temacie opisano sposób używania pamięci systemowej w celu zwiększenia wydajności usług Azure Stack HCI i Windows Server przez buforowanie częstych operacji odczytu. Nie można buforować zapisów w pamięci.

Rozwiązania Azure Stack HCI i Windows Server są zgodne z pamięcią podręczną odczytu udostępnionego woluminu klastra (CSV). Użycie pamięci systemowej do buforowania odczytów może zwiększyć wydajność aplikacji, takich jak Hyper-V, która używa niebufferowanych operacji we/wy w celu uzyskania dostępu do plików VHD lub VHDX. (Niebufferowane operacje we/wy są operacjami, które nie są buforowane przez Menedżera pamięci podręcznej systemu Windows).

Ponieważ pamięć podręczna w pamięci jest lokalna, zwiększa lokalność danych. Ostatnie operacje odczytu są buforowane w pamięci na tym samym hoście, na którym działa maszyna wirtualna, co zmniejsza częstotliwość operacji odczytu za pośrednictwem sieci. Powoduje to mniejsze opóźnienie i lepszą wydajność magazynu.

Należy pamiętać, że pamięć podręczna odczytu woluminów CSV w pamięci 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 korzystających z odczytu, takich jak infrastruktura pulpitu wirtualnego (VDI). Z drugiej strony, jeśli obciążenie jest bardzo intensywnie korzystające z zapisu, pamięć podręczna może spowodować większe obciążenie niż wartość i powinna zostać wyłączona.

Możesz użyć do 80% całkowitej pamięci fizycznej dla pamięci podręcznej odczytu woluminu CSV w pamięci. Zachowaj ostrożność, aby pozostawić wystarczającą ilość pamięci dla maszyn wirtualnych!

Uwaga

Niektóre narzędzia mikrobenchmarkowania, takie jak DISKSPD i VM Fleet , mogą powodować gorsze wyniki z włączoną pamięcią podręczną odczytu w pamięci CSV niż bez niej. Domyślnie flota maszyn wirtualnych tworzy jeden dysk VHDX GiB na maszynę wirtualną — łącznie około 1 TiB dla 100 maszyn wirtualnych — a następnie wykonuje jednolicie losowe operacje odczytu i zapisu do nich. W przeciwieństwie do rzeczywistych obciążeń odczyty nie są zgodne z przewidywalnym lub powtarzającym się wzorcem, więc 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 usłudze Azure Stack HCI, Windows Server 2019 i Windows Server 2016 z tą samą funkcjonalnością. W usługach Azure Stack HCI i Windows Server 2019 jest ona domyślnie włączona z przydzielonymi 1 gibibajtami (GiB). W Windows Server 2016 jest ona domyślnie wyłączona.

Wersja systemu operacyjnego Domyślny rozmiar pamięci podręcznej 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 Admin Center

Aby skonfigurować pamięć podręczną przy użyciu Windows Admin Center, wykonaj następujące czynności:

  1. W Windows Admin Center połącz się z klastrem, a następnie wybierz pozycję Ustawienia w okienku Narzędzia po lewej stronie.
  2. Wybierz pozycję Pamięć podręczna w pamięci w obszarze Magazyn w okienku Ustawienia .
  3. W okienku po prawej stronie 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.
  4. Po zakończeniu wybierz pozycję Zapisz.

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

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

Aby zobaczyć, ile pamięci jest przydzielonych przy użyciu programu PowerShell, uruchom następujące polecenie jako administrator:

(Get-Cluster).BlockCacheSize

Zwracana wartość jest wyrażona w mebibajtach (MiB) na serwer. Na przykład 1024 reprezentuje 1 GiB.

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

(Get-Cluster).BlockCacheSize = 2048

Aby zmiany zaczęły obowiązywać 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 wrócić ponownie:

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

Następne kroki

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