Sql-Server-2014

Tempdb 配置最佳實踐

  • July 10, 2018

我被要求提供關於提高 tempdb 性能的最佳實踐的意見。我意識到這是逐案處理的,並且由於工作量和類型的原因,一個房地產中的 tempdb 可能對另一個房地產有不同的要求,但是我希望能夠了解超出我目前建議的最佳實踐。

目前我們有 1 個數據文件,我將增加到 4 個以匹配邏輯核心的數量。我的 tempdb 文件目前與其他數據庫文件位於相同的驅動器上,它們將被移動到自己的驅動器以停止 IO 爭用。我還將實現跟踪標誌 1117,1118 以在文件組中平均增長所有文件並僅使用統一範圍。最後,我希望進行的進一步更改是啟用即時文件初始化。

除了我上面的內容之外,還有什麼我錯過的最佳實踐嗎?此外,它建議將 tempdb 儲存在它自己的驅動器上是一種最佳做法,但應該將所有 tempdb 文件儲存在同一個驅動器上,或者應該將 .ldf、.mdf 和 .ndf 儲存在它們自己的捲上。

謝謝

  • X 個文件,其中 X 是處理器的數量上限(8、16 左右)。
  • 預分配大小。
  • 總是在單獨的捲上,因為我真的很喜歡檢查那個卷上的 IO 負載的能力。Tempdb 過載很少發生,但如果發生…. 能夠設置警報是件好事。

關於驅動器:如果您可以將它們保存在同一個驅動器上,那麼您要麼有一個非常小的數據庫(在這種情況下 - 將它放在具有足夠 IOPS 的 M.2 / U.2 SSD 上),要麼一開始就有問題 - 的驅動器是“假的”(就像一個 SAN 提供了一個實際上有很多落後的 LUN)這些天我將所有捲都保存在共享儲存上,目前甚至在非常慢的 HDD(7200 RPM)上,但它得到了支持目前 6.4 TB 的 M.2 SSD 甚至會變得更大,因此我的讀取訪問時間幾乎可以保證低於 1 毫秒。即使所有最終都在同一張光碟上,我也真的想要單獨的捲來一眼檢查爭用情況。

與 mdf 和 ldf 相同 - 都在自己的捲上。

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