SSD在數(shù)據(jù)中心領域已經樹立起了自己的地位。幾乎所有主流廠商都會在它們的最佳實踐架構中指定Tier 0存儲。服務器端的SSD用于提升服務器性能,而存儲端的SSD則解決了啟動風暴的瓶頸。就像大多數(shù)技術一樣,了解什么時候使用它和什么時候不使用是很重要的。現(xiàn)在讓我們來看看什么時候不使用SSD。
對于不是讀密集型(read-intensive)的應用不要使用SSD。SSD可以顯著提升讀訪問時間。相比傳統(tǒng)HDD硬盤,讀取效率可以提升10倍以上。但是天下沒有免費的午餐,SSD在寫性能上并無優(yōu)勢。寫操作不但有延時,而且還會耗盡SSD的存儲單元。存儲單元有平均寫壽命,超過這個壽命時,存儲單元會逐漸損壞(具體要查看廠商對指定系統(tǒng)的提供的詳細信息)。當存儲單元損壞時,SSD總體性能會下降。最終,SSD必須被更換以保證其性能,我們都知道,SSD并不便宜。一些廠商更是提供昂貴的保修服務。
那么理想的讀寫比率是多少呢?這并沒有一個固定的數(shù)字,但90/10是比較理想的。在這點上應用必須做出讓步,這需要IT管理者做出合理的決定。如果讀寫比率低于50/50,那么很明顯傳統(tǒng)的HDD硬盤是更好的選擇。在這種情況下,從應用的角度來看SSD對讀性能的提升會被其糟糕的寫性能抵消。
所以如果你需要使用SSD來提升讀性能,但寫性能成為了問題,那么你可以考慮采用損耗平衡(wear-leveling)機制和能減少寫入放大(write-amplification)的廠商,從而降低性能影響。SSD的大小也是一個因素,便宜的SSD會因為減少了遞歸讀的幾率而產生更重的負載。
當數(shù)據(jù)隨機訪問過大時不要使用SSD。SSD通常被認為是“緩存層”,這個名字很形象。從根本上說,SSD就是一種用來減少從傳統(tǒng)硬盤取數(shù)據(jù)的緩存。隨機訪問需求很高的應用不會從SSD上獲益—讀操作會被陣列控制器定向到HDD,此時昂貴的SSD作用很小。
在高度虛擬化環(huán)境中不要使用普通SSD。好吧,這一點會帶來一些爭論,因為在虛擬機環(huán)境中已經有了一些SSD的成功案例,如啟動風暴。然而,許多虛擬機訪問同一塊SSD時會導致很多隨機數(shù)據(jù)指令,至少從存儲的角度來看是這樣。當上百個虛擬機對相同的存儲進行讀寫時,一臺機器會一直不斷的重寫其它機器的數(shù)據(jù)。因此,有專門為虛擬化環(huán)境設計的SSD解決方案,這就是之前為什么提到“普通”SSD。
不要在服務器端使用SSD用以解決存儲IO瓶頸。服務器端SSD從根本上說就是服務器緩存,用于解決處理性能問題和網絡帶寬問題。將SSD分布到幾百臺物理服務器上,每臺服務器都配置自身的SSD可能的確會對解決IO瓶頸有幫助,但是并沒有將其放置在存儲陣列端效率高。
不要使用Tier 0來解決網絡瓶頸。如果數(shù)據(jù)傳輸被網絡控制,在網絡后端優(yōu)化存儲系統(tǒng)顯然不會有好的效果。服務器端SSD可以減少訪問存儲系統(tǒng)的需求,因此可以減少網絡流量。
不要為企業(yè)級應用部署消費品級SSD。SSD有三種等級:單層單元(SLC),多層單元(MLC)和企業(yè)級多層單元(eMLC)。MLC被認為是消費品級SSD,通常在打包的應用中使用。每個單元的生命周期是3000-10000次寫操作。SLC是企業(yè)級SSD,具有每個單元100000次以上寫操作的生命周期。eMLC嘗試在價格和性能之間找到平衡點,提供每單元30000次寫操作,但價格比SLC低。客戶可以根據(jù)自身的購買力來決定購買哪種等級的SSD。