Sql-Server
為 TempDb 數據驅動器啟用寫入記憶體
最近,我們遇到了一些查詢速度緩慢的問題,即它們各自驅動器上的 TempDb 延遲出現峰值。
我們已經有 8 個 tempdb 文件,並且未啟用跟踪標誌 1117 和 1118。我們計劃啟用,但目前尚不知道它們可能會出現什麼問題。
然而,我們的儲存團隊提出了一種名為為 TempDb 驅動器啟用寫入記憶體的建議。我們不知道這將如何影響整體性能。
如果啟用此功能對於 SQL Server TempDb 文件確實是一個好主意,有人可以提供任何見解嗎?
跟踪標誌 1117 處理跨多個數據文件的統一自動增長(https://www.brentozar.com/archive/2014/06/trace-flags-1117-1118-tempdb-configuration/),而 1118 處理混合與專用範圍。這些跟踪標誌不僅限於在 tempdb 上使用,因此它會影響您的整個實例。
我也會看看這篇文章。
就寫入記憶體而言,取決於儲存陣列的配置,它可能會在記憶體中短暫延遲寫入磁碟,直到它們送出到磁碟(儘管 ymmv,我已經看到斷電影響記憶體的問題,從而失去在送出到磁碟之前寫入)。
您是否檢查了查詢以了解它們如何使用 tempdb,以及是否可以調整它們以更有效地使用它?
我還會看看您的儲存層是如何為您的數據庫建構的。您是否將 tempdb 隔離在與使用者數據庫文件不同的儲存上?
每次執行查詢時儲存延遲行為是否可重複?