擴展高度事務性的 SQL 伺服器
我正在尋找升級我的站點伺服器之一。該站點目前每天執行大約 2000 萬個 sql 查詢,而且增長速度非常快。現在IO 吞吐量是一個真正的問題,所以我的想法是將各種數據庫移動到它們自己的磁碟對上。我的想法是做這樣的事情:
配置
磁碟 1 和磁碟 2 / Raid 5,6 或 10(SAS 或 SSD)-數據庫 1
磁碟 3 和磁碟 4 / Raid 5,6 或 10(SAS 或 SSD)-數據庫 2
磁碟 5 和磁碟 6 / Raid 5,6 或 10(SAS 或 SSD)-數據庫 3
磁碟 7 (SSD) -事務日誌
磁碟 8 (SSD) -事務日誌
我的經驗在這裡缺乏,所以有幾個問題:
1)首先,上面看起來很愚蠢嗎?
2)我應該在 RAID 控制器中註意什麼,例如。使用 SSD 時的頻寬吞吐量?
所有的 SSD 磁碟都是一樣的嗎?我收到了一些文章說某些類型不合格?
我假設對於簡單的兩個磁碟鏡像,這些 RAID 級別中的任何一個都可以嗎?假設不好?
5)任何其他調整以使此配置更好?
我的網站是高度事務性的,但數據庫並沒有那麼大,目前只有幾場演出。所以我的主要擴展要求是 IO,而不是大小。我還會在盒子上投入大量 RAM,以便在記憶體中放置更多索引等。
謝謝戴夫
不,所有 SSD 都不相同。Intel G2 相當不錯,Crucial RealSSD 也不錯。然而,最好的性能來自插入 PCI Express 插槽的 SSD 卡。目前最好的那些具有 1.4 TB/秒(順序)的吞吐量。
共同點是隨機寫入吞吐量。這最好通過執行 Microsoft SQLIO 實用程序來衡量。
您可能想更進一步,將(一些)索引放在 SSD 上的單獨文件組中。這可能不一定有助於更新性能,但會有助於查詢性能。有些查詢可能永遠不會命中數據庫,只會命中索引。
如果您有使用它的過程或查詢,請不要忘記 TempDB。