VMware 跨 NUMA 效能損失

VMware 跨 NUMA 效能損失

我曾經遇到過虛擬 SQL Server 隨機意外變慢的情況,我無法將其歸因於工作負載、儲存或 CPU(事實上,在主機中撤出其他虛擬機器後,這種情況仍在繼續)。

我懷疑它可能與 NUMA 配置相關 - 特別是物理記憶體的映射方式。

運行coreinfo顯示以下跨 NUMA 節點存取成本:

Approximate Cross-NUMA Node Access Cost (relative to fastest):
     00  01
00: 1.0 1.3
01: 1.4 1.5

這看起來很奇怪 - 我本來預計 01-01 會更接近 1.0,並且懲罰會在節點之間進行。

我認為這表明記憶體正在 Vmware 上的第一個 pNUMA 節點上分配,並且可能會導致第二個 vNUMA 節點的記憶體存取效能下降。

由於 SQL Server 具有 NUMA 感知能力,因此它是否可以對跨 NUMA 記憶體存取的影響做出假設,從而影響這種情況下的效能(即嘗試在一個節點上保持存取並避免跨 NUMA 存取)?

我可以採取任何步驟來嘗試確保內存在 pNUMA 節點之間均勻分配嗎?

主機如下:

  • vSphere 6.7.0
  • 2x 至強金牌 5217(8 核)
  • 768GB 總內存

虛擬機器如下:

  • 12 個 vCPU(每個插槽 3 個核心 = 4 個插槽)
  • 320GB內存
  • Windows 2012 R2
  • SQL Server 2016 企業版

編輯:x-mem 顯示以下內容與coreinfo

xmem-win-x64.exe -j6 -s -R -l -f test.csv -n5

         00      01
00  1.21124 1.18519
01  1.19831 1.18695

相關內容