使用 CSV 記憶體內部讀取快取
適用於:Azure Stack HCI 版本 22H2 和 21H2、Windows Server 2022、Windows Server 2019、Windows Server 2016
重要
Azure Stack HCI 現在是 Azure 本機的一部分。 產品檔案重新命名正在進行中。 不過,舊版的 Azure Stack HCI,例如 22H2 會繼續參考 Azure Stack HCI,而且不會反映名稱變更。 深入了解。
本主題描述如何使用系統記憶體,藉由快取頻繁讀取來提升 Azure Stack HCI 和 Windows Server 的效能。 寫入無法在記憶體中快取。
Azure Stack HCI 和 Windows Server 與叢集共用磁碟區 (CSV) 記憶體中讀取快取相容。 使用系統記憶體來快取讀取可以改善 Hyper-V 等應用程式的效能,其會使用未壓縮的 I/O 來存取 VHD 或 VHDX 檔案。 (未壓縮的 I/O 是 Windows 快取管理員未快取的任何作業。
因為記憶體內部快取是伺服器本機,所以可改善數據位置。 最近的讀取會在虛擬機執行所在的相同主機上快取記憶體中,減少讀取透過網路的頻率。 這會導致較低的延遲和更佳的記憶體效能。
請注意,CSV 記憶體內部讀取快取與存放集區快取不同。
規劃考量
記憶體內部讀取快取對於大量讀取工作負載最有效,例如虛擬桌面基礎結構 (VDI)。 相反地,如果工作負載非常密集寫入,快取可能會造成比值更多的額外負荷,而且應該停用。
您可以針對 CSV 記憶體內部讀取快取使用最多 80% 的實體記憶體。 請小心為您的 VM 留下足夠的記憶體!
注意
某些微機標記工具,例如 DISKSPD 和 VM 機隊 ,可能會產生比未啟用 CSV 記憶體內讀取快取更差的結果。 根據預設,VM 機隊會為每個 VM 建立一個 10 GiB VHDX – 大約 1 TiB 總計為 100 部 VM,然後執行 一致的隨機 讀取和寫入。 不同於實際工作負載,讀取不會遵循任何可預測或重複的模式,因此記憶體內部快取無效,而且只會產生額外負荷。
設定記憶體內部讀取快取
AZURE Stack HCI、Windows Server 2019 和 Windows Server 2016 中提供 CSV 記憶體內部讀取快取,其功能相同。 在 Azure Stack HCI 和 Windows Server 2019 中,預設為已配置 1 gibibyte (GiB)。 在 Windows Server 2016 中,預設為關閉。
作業系統版本 | 預設 CSV 快取大小 |
---|---|
Azure Stack HCI | 1 GiB |
Windows Server 2019 | 1 GiB |
Windows Server 2016 | 0 (已停用) |
使用 Windows Admin Center 設定快取
若要使用 Windows Admin Center 設定快取,請執行下列動作:
- 在 Windows Admin Center 中,連線到叢集,然後從左側的 [工具] 窗格中選取 [設定]。
- 在 [設定] 窗格的 [記憶體] 底下,選取 [記憶體內部快取]。
- 在右窗格中,複選框會啟用或停用快取,您也可以指定要配置給快取的每個伺服器記憶體上限。
- 完成時,選取 [儲存]。
使用 PowerShell 設定快取
若要查看使用 PowerShell 配置多少記憶體,請以系統管理員身分執行下列命令:
(Get-Cluster).BlockCacheSize
傳回的值以每部伺服器的位元組為單位(MiB)。 例如, 1024
代表 1 GiB。
若要變更配置多少記憶體,請使用PowerShell修改此值。 例如,若要為每個伺服器配置 2 GiB,請執行:
(Get-Cluster).BlockCacheSize = 2048
若要讓變更立即生效,請暫停,然後繼續 CSV 磁碟區,或在伺服器之間移動它們。 例如,使用此 PowerShell 片段將每個 CSV 移至另一個伺服器節點,然後再返回:
Get-ClusterSharedVolume | ForEach {
$Owner = $_.OwnerNode
$_ | Move-ClusterSharedVolume
$_ | Move-ClusterSharedVolume -Node $Owner
}
下一步
如需相關資訊,另請參閱:
- 瞭解存放集區快取
- 在容錯移轉叢集中使用叢集共用磁碟區 \(部分機器翻譯\)