Sql-Server-2017

TempDB SSD 驅動器是否應該使用 64 Kb 分配單元大小進行格式化?

  • March 27, 2019

我們為 TempDB 安裝了專用的 SSD 驅動器

  1. 第一個問題 - 這些驅動器是否應該使用 64 Kb 分配大小進行格式化?目前它顯示 4 Kb(每個集群的字節數 = 4096)

TempDB 是否受益於 64 Kb 單元大小,或者可以保留預設的 4 Kb?

  1. 第二個問題 - 我們在一個單獨的“虛擬”卷上擁有數據和日誌文件,這些卷是 SAN 管理員之前切片的,這些卷是由 SAN RAID 陣列製成的,並顯示 4 Kb 分配單元大小

此時我們無法更改這些卷的分配單元大小。因此,如果我們將 TempDB SSD 驅動器更改為 64 Kb,並且數據/日誌卷保持為 4 Kb,是否會對 SQL Server 造成任何麻煩?

絕對將其格式化為 64k .. tempdb 將比其他 san 數據文件更快且負擔更少。因素可能很多,但主要因素是 tempdb 的大量使用。SQL Server 按照設計以 64k 的倍數分配空間,Win Server 也是如此。

在其自己的 64k 格式化驅動器上寫入正確預分配的數據文件對性能非常重要。64k 塊將從 16x4k 數據文件讀取到 1x64k 數據包寫入中的 tempdb,而不是 16k 數據包寫入。除非有很多碎片,否則讀取 san 驅動器上的 4k 分配真的不是一個大問題,4k San 會影響寫入。這就是數學真理。然而從理論上講,即使在 4k 時,經過適當突襲的 San 也可能不會那麼引人注目,因為考慮到他們正在寫入的驅動器磁頭倍數。

除此之外,您還可以使用架構修改,例如讓 tempdb 使用多個相等的數據分區。但這可能超出了範圍。

這是我的簡短回答,希望我沒有因為簡短而混淆這個問題。

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