Sql-Server

多實例伺服器上的 SQL Server 配置

  • March 27, 2019

我有一個帶有兩個實例的 2016 標準版伺服器。該伺服器有 8 個邏輯處理器和 40GB 記憶體(它是 hyper-v 上的測試伺服器,所以規格不高!)並且它沒有任何現有的工作負載要分析。

關於 MAXDOP 和 TempDb 文件配置的建議在多實例伺服器上是否仍然適用?

我的想法是拆分伺服器資源並基於這些資源應用配置。

例如每個實例都會有

  • 16GB 最大記憶體
  • MAXDOP 4
  • 4 臨時數據庫文件

如果您確實需要限制每個實例的資源,則資源管理器是您最好的選擇,儘管如果這是您的主要關注點,我會避免堆疊多個實例。

如果拆分資源不是一個大問題,我會配置不超過 36GB 的總記憶體,所以每個實例 16GB 就可以了。我仍然會為每個實例配置 8 個 tempdb 文件,並且可能會將 max dop 設置為 6 左右,以針對工作負載進行測試。

這樣可以確保實例或作業系統都無法獲得所需的記憶體,但是通過將 maxdop 配置為高於一半核心,它將允許程序使用超過 4 個核心(如果可用),同時仍然不允許單個程序支配整個機器。

我仍然會為實例分配 8 個 tempdb 文件,因為沒有任何東西可以提供硬限制,sql server 仍然能夠訪問所有 8 個核心,並且可能會同時生成 8 個 tempdb 請求。

我要驗證的另一件事是,如果它在 sql server 標準版上執行,那麼無論核心數量如何,您的 VM 配置的套接字都不超過 4 個。Sql server 會將 cpu 使用限制為 4 個套接字,如果您使用單核 cpu,則可能會導致兩個實例嘗試共享前 4 個 CPU,而其他 4 個則處於空閒狀態。

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