MySQL、磁碟 I/O 和 SSD 驅動器
我們有一個帶有 2 個鏡像 1 TB WD Black Caviar 磁碟的 LAMP 盒,執行整個作業系統和 MySQL。8 GB/RAM,2 個四核 CPU。
我們真的對磁碟 I/O 徵稅了,我一直在考慮建議在其中安裝幾個 SSD 驅動器
/var/lib/mysql
,然後就完成了。我做了一些研究,我喜歡英特爾 X25-M 160 GB 的價格點,但我讀過關於生產中 SSD 的衝突選項。我們大約為 70 GB,主要是 MyISAM 表 (> 95%)。我們主要在生產期間(晚上 8 點至 5 點)進行讀取,主要是在夜間(上午 12 點至上午 8 點)進行寫入。
之前這裡有一些關於生產中 SSD 的有用文章,但我認為更好的文章有點過時了(最好的文章是 2008 年的)。是否有更多關於 SSD 是否真的為中型企業做好準備的最新回饋?如果沒有,我怎樣才能更好地擴展我們的數據庫伺服器?
斯蒂芬,你需要先深入探勘。
- 如果您只是將 RAM 升級到更大的記憶體(如 32 或 64GB),那麼數據庫的整個“熱”(經常使用)子集是否適合 RAM?
- 您是否檢查過您的數據庫是否有正確的索引,您是否進行了基本的 MySQL 性能審計?
關於消費 級設備:在伺服器中使用像 WD 磁碟這樣的消費級設備是一個備受爭議的話題。就個人而言,我認為這是一個錯誤的選擇。但可以肯定的是,不要使用英特爾 X-25M(M 代表主流)等消費級 SSD。企業級 SSD 具有與消費級 SSD 截然不同的耐用性和寫入耐用性目標(更好的磨損均衡、更多的空間過度配置)。
典型設置: 像您這樣的伺服器的典型磁碟設置可能是 4 個企業 SAS 磁碟,在 RAID10 中,使用適當的 RAID 控制器,控制器 RAM 記憶體緩衝所有寫入,以及用於記憶體的電池備份單元。這樣的裝備並不便宜,但它是一個行之有效的選擇。
SSD 確實具有優勢,並且可以比 RAID 10 中的幾個傳統磁碟快得多(尤其是在大量隨機讀取時,假設熱數據集不適合 RAM)。Percona 團隊在此處發布有關 SSD 和 MySQL 實際性能的部落格。
有人對 SSD 是否真的為中型企業做好準備有更多最新回饋嗎?
它們是,但恕我直言,只有企業級 SSD,最好是已經生產了一段時間以修復錯誤的一系列 SSD。目前不錯的選擇是 Intel X25-E(Extreme)系列,在 4-6 個月內(當它們更成熟時)具有企業功能集的 Sandforce 25xx 系列驅動器。
如果沒有,我怎樣才能更好地擴展我們的數據庫伺服器?
也許你已經這樣做了,但如果沒有:我的第一個建議是找一個 MySQL 數據庫管理員,讓他對你的系統進行性能審計。您很可能會發現,添加更多磁碟 I/O 對您的情況來說並不是一種經濟高效的解決方案。