Storage
閱讀 SSD 驅動器規格時,MB/s 和 IOPS 有什麼區別?
我正在嘗試為我的數據庫伺服器(debian 7 amd-64 上的 postgres)找到合適的 SSD 驅動器,我發現對於某些 SSD 驅動器,雖然讀取速度以 MB/s 為單位指定,但寫入速度以 IOPS 為單位。更複雜的是,有時順序訪問以 MB/s 為單位,而隨機訪問以 IOPS 為單位。
這些單位如何相互比較以及與硬碟(使用良好的舊 MB/s)?
MB/s 表示驅動器每秒可以處理多少兆字節作為吞吐量。IOPS 表示每秒可以處理多少個單一操作。
順序訪問意味著例如讀取一個大文件,隨機訪問意味著您正在讀取不同文件的單個部分。
如果您尋找用於數據庫使用的驅動器,您應該尋找:
- SLC(最好但最昂貴)或 MLC 類型的企業級、商業級或伺服器級 SSD。盡量避免使用 TLC 類型的 SSD 磁碟。
- 至少其中兩個,以形成 RAID 並防止數據失去。數據庫的最佳 RAID 策略是盡可能多的磁碟的 RAID10。如果您只有兩個磁碟,請使用 RAID1(鏡像)。如果您需要性能,請避免將 RAID5 或 RAID6 用於數據庫儲存。SSD 的寫入周期有限,在寫入周期結束時,SSD 會立即發生故障。然後,您希望擁有數據的鏡像副本以盡快更換發生故障的 SSD。
- 理想情況下,使用帶有電池備份單元和 RAM 的 RAID 控制器來記憶體甚至寫入。
- 高 IOPS。數據庫讀取和寫入相當多的較小事務。與高吞吐量相比,您從 IOPS 中獲益更多。
- 吞吐量。這是最不重要的事情。只有在進行備份或恢復時,您才能從高吞吐率中受益。
根據評論更新答案:
- 如果您的儲存位於 Oracle 支持的 Solaris 或 Illumos 或類似設備上,則軟體 RAID 可以成為一種解決方案。然後不需要硬體 RAID 控制器,因為 ZFS 在沒有硬體 RAID 控制器的情況下可以很好地處理高 IOPS 數據庫負載。硬體 RAID 控制器甚至會減慢您的設置速度。
- 我絕對建議不要使用 linux 軟體 RAID (mdraid)。它適用於高吞吐率,但 IOPS 率非常低。這對於文件伺服器來說很好,但對於數據庫伺服器則不然。