Sql-Server

同一驅動器上的 Tempdb 文件固態?

  • June 27, 2018

我們目前在固態驅動器上有 tempdb(8 個文件)。

我們知道,建議將主 mdf 和事務日誌 ndf 放在不同的驅動器上,以減少爭用。tempdb文件應該在不同的驅動器上以具有一致的原則,還是它們都可以在同一個驅動器上?

以下文章指出它們都在同一個驅動器上,但正在尋找背景技術解釋。 對多個 tempdb 文件的建議

ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev2', FILENAME = N'G:\tempdb2.ndf' , SIZE = 12288000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 0 )
GO
ALTER DATABASE [tempdb] ADD FILE ( NAME = N'tempdev3', FILENAME = N'G:\tempdb3.ndf' , SIZE = 12288000KB , MAXSIZE = UNLIMITED, FILEGROWTH = 0 )
....

這裡有幾個因素可以發揮作用:

一個設備(在這種情況下是你的 SSD)一般可以處理多少 I/O ?假設在 tempdb 總共 100% 中,日誌 (ldf) 滿足 30%。購買一個新的 SSD 並將 ldf 放在那裡會給你更多的 IOPS,ldf 的 30% 不會從 mdf/ndf 所在的驅動器中取出。

當我們有單個磁碟並且順序和隨機 I/O 之間存在巨大的性能差異時,“分離日誌”很有意義。事務必須等待 ldf 記錄寫入磁碟(硬化)。ldf(幾乎)只是順序 I/O。將 ldf 隔離到單獨的磁碟意味著磁碟已就位以進行下一次寫入操作,這意味著順序 I/O(不移動磁碟臂)。SSD 磁碟的順序 I/O 和隨機 I/O 有多大區別?我不知道,但可能微不足道。因此,這方面可能與現代磁碟子系統無關。

所以,IMO,它歸結為容量。您的 SSD 能否以合理的響應時間處理 I/O 負載?如果沒有,那麼您需要更多容量 - 更多 SSD 驅動器。

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