Sql-Server

SQL Server 為 NUMA 推薦的 MAXDOP 設置

  • July 12, 2016

我有一個在 SQL 2008 R2 企業版上執行的 OLTP SQL 數據庫,它在投入生產後的幾個月內可能相當繁忙(5000 批/秒)。查看伺服器配置我對設置 MAXDOP 有疑問,但是現在我發現作為該論壇的普通讀者普遍共識是對於需要並行操作的任務(例如索引重建和更改成本門檻值)將伺服器範圍的 MAXDOP 設置保留為 0並行度到更高的數量(15 或 20 而不是預設的 5)。

但是,此伺服器具有 NUMA 節點並基於這些 MS 支持文章 http://support.microsoft.com/kb/329204

http://support.microsoft.com/kb/2023536

為防止代價高昂的外部記憶體訪問,建議設置 MAXDOP = 物理處理器中的核心數。

此伺服器有 2 個物理處理器,每個插槽上有 16 個邏輯(8 個物理)核心。該MS支持KB建議的指南是否仍然有效?

我知道一切都需要嘗試和測試,但我的目標是將 MAXDOP 設置為最佳理論值,並在以後需要時進行調整。基於它我應該將 MAXDOP 設置設置為 8 嗎?

通常,我建議我的客戶不要使用 MAXDOP。SQL Server 支持 NUMA,因此它知道處理器在哪個 NUMA 節點以及記憶體在哪個 NUMA 節點,並且最好將工作分配給您正在查找的數據的正確 NUMA 節點上的調度程序.

研究這類東西還需要知道你有多少個 NUMA 節點。每個物理處理器是在其自己的 NUMA 節點中,還是它們在同一個 NUMA 節點中?

引用自:https://dba.stackexchange.com/questions/31549