NUMA 狀況

在含有許多 CPU 的電腦上,非統一記憶體存取 (NUMA) 硬體可將專用記憶體與 CPU 配對,進而大幅改善效能。這個主題呈現 NUMA、CPU 相似性和連接相似性的一些組態,它們可進一步改進特定狀況的效能。下列設定會影響這些組態:

有用的狀況

使用 NUMA 時,常常會遇到下列狀況。

A. NUMA 相似性沒有通訊埠

這是具有硬體 NUMA 和 SQL Server 單一執行個體的電腦上的預設狀況。所有傳輸是透過單一通訊埠進入,並以循環方式分散到任何可用的 NUMA 節點上。NUMA 改進記憶體的位置和 CPU 存取,並增加 I/O 和延遲寫入器執行緒數目。建立連接之後,就會限定範圍至該節點。這在 NUMA 節點之間提供自動負載平衡。用戶端應用程式可連接到單一通訊埠,因此容易部署。

使用任何 NUMA 節點的連結。

B. 建立單一通訊埠與多個節點之間的關聯性,為優先應用程式提供改進的效能

使一個通訊埠與多個硬體 NUMA 節點相似化,以便做為主要的應用程式。使第二個通訊埠與另一個硬體 NUMA 節點相似化,以便做為第二個次要應用程式。這兩個應用程式的記憶體和 CPU 資源是以不對稱方式修改,提供三倍於次要應用程式的本機記憶體和 CPU 資源給主要應用程式。次要應用程式可以是 Database Engine 的第二個執行個體,它是相同 Database Engine 執行個體、甚至是相同資料庫的一個次要功能。這可提供額外資源給偏好連接,來提供一種優先執行緒的執行形式。

單一通訊埠連接到多個 NUMA 節點。

C. 建立多個通訊埠與多個節點的關聯性

多個通訊埠可對應到相同 NUMA 節點。這可讓您設定不同權限給不同的通訊埠。例如,您可以控制對應 TCP 端點的權限,來嚴格限制透過通訊埠提供的存取權。在這個範例中,通訊埠 1450 可廣泛提供給內部網路使用。通訊埠 1433 透過防火牆開放給網際網路,但存取權受到嚴格限制。兩個通訊埠都充分利用 NUMA 的相同好處。

多個通訊埠連接到全部可用的 NUMA 節點