設定 tempdb 以減少爭用 - AWS 方案指引

本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。

設定 tempdb 以減少爭用

建議您使用大小相等且成長係數相等的多個資料檔案來設定 tempdb。

在大量使用 tempdb 的忙碌資料庫伺服器上,您可能會注意到伺服器遇到繁重負載時嚴重封鎖。您可能會注意到任務正在等待指向 tempdb 中頁面的資源。這些頁面可能是格式為 2:xx (例如 2:1:1 或 2:1:2) 的無頁面空間 (PFS) 和共用全域配置圖 (SGM) 頁面

若要改善 tempdb 並行,您可以增加 tempdb 中的資料檔案數目,以最大化磁碟頻寬並減少配置結構中的爭用。以下是一些指導方針:

  • 如果邏輯處理器的數量等於或小於 8:使用相同數量的資料檔案和邏輯處理器。

  • 如果邏輯處理器的數量高於 8:使用 8 個資料檔案。

如果爭用持續存在,請增加 4 的倍數中的資料檔案數量,直到爭用修復為止,最多到伺服器上的邏輯處理器數量。這有助於避免 tempdb 中的 SGAM 爭用。如果您使用的是 SQL Server 2014 或更早版本,您也需要啟用追蹤旗標 1118。此旗標會強制在統一範圍上進行頁面配置,而不是混合範圍,這可將 SGAM 頁面上的掃描降至最低,並減少爭用。

從 SQL Server 2016 (13.x) 開始,此行為由 的 AUTOGROW_SINGLE_FILEAUTOGROW_ALL_FILES選項控制。 ALTER DATABASE例如:

alter database <database name> MODIFY FILEGROUP [PRIMARY] AUTOGROW_ALL_FILES

如需設定這些選項的詳細資訊,請參閱 Microsoft SQL Server 文件