評論員Steve Hill 質疑將SSD配置在使用1Gb/s以太網(wǎng)服務器連接的存儲系統(tǒng)的做法。Steven說Drobo B1200i連接出去的通道會在SSD性能全部發(fā)揮之前就已經塞滿了。
我們通常會傾向于考慮存儲網(wǎng)絡帶寬,因為這是唯一顯示在系統(tǒng)規(guī)格上的性能指標。當你購買一個磁盤陣列或HBA(主機總線適配器)的時候,你知道它是4Gb/s光纖通道連接的還是10Gb/s以太網(wǎng)連接的。網(wǎng)絡帶寬定義了一個存儲系統(tǒng)可以提供的絕對最高吞吐率,但是我們很少人會在任務關鍵型應用程序上達到吞吐率上限。
對那些需要順序地讀取和寫入大塊數(shù)據(jù)的應用程序而言,吞吐率是一個限制性因素。這些應用程序包括媒體應用程序,比如視頻編輯或監(jiān)控程序,以及備份程序。備份設備性能完全取決于備份設備從備份服務器上接收一個或多個數(shù)據(jù)流的速度。因此,備份設備的規(guī)格表主要強調數(shù)據(jù)吸納率。
因此,盡管吞吐率很重要,但是除了備份以外,我們大部分沒有那種需要進行大型順序數(shù)據(jù)傳輸?shù)娜蝿贞P鍵型應用程序。我們希望運行得更快的應用程序大部分是某種形式的數(shù)據(jù)庫,這些數(shù)據(jù)庫在4Kb或8Kb頁面上或多或少地隨機讀取和寫入數(shù)據(jù)。一個典型的數(shù)據(jù)庫事務在數(shù)據(jù)庫搜索一個索引來尋找數(shù)據(jù)表上正確記錄的時候將要求數(shù)十或數(shù)百個小型數(shù)據(jù)訪問,然后讀取這個記錄,然后如果這個數(shù)據(jù)庫事務修改數(shù)據(jù)的話,還要將新數(shù)據(jù)寫回到這些域。
對于數(shù)據(jù)庫和其他隨機訪問應用程序來說,吞吐率的重要性要比I/O延遲以及存儲系統(tǒng)所能執(zhí)行的每秒輸入輸出(IOPS)要小很多。
延遲性就是一個設備存儲或讀取設備所需要的時間。在旋轉式磁盤上,總的延遲時間就是尋道時間加上旋轉延遲——驅動器等待正確的數(shù)據(jù)扇區(qū)轉到讀寫頭下方所需要的時間——再加上數(shù)據(jù)傳輸時間。
在真實世界中,隨著數(shù)據(jù)請求在服務器操作系統(tǒng)I/O堆棧中上上下下,穿越各種網(wǎng)絡交換機和進入陣列控制器,存儲系統(tǒng)延遲可能會變得更嚴重。數(shù)據(jù)中心之間的同步鏡像就是一個很大的寫入延遲來源,因為在應用程序確認數(shù)據(jù)被寫入之前數(shù)據(jù)必須被同時寫入主目標端陣列和復制目標端陣列。這些因素經常會給應用程序性能帶來很大的延遲影響。
由于如今的磁盤驅動器只有一個讀寫頭定位器,因此一個驅動器可以提供的IOPS差不多就反映了它的延遲。一個總延遲時間為7毫秒的1.5萬轉驅動器可以提供1/0.007或140次IOPS。
SSD和磁盤陣列可以從它們的RAM(隨機存取記憶體)中滿足某些I/O請求并且并行地訪問多個閃存芯片或磁盤驅動器。這種并行性使得它們可以提供比延遲性所能反映的更多的IOPS。由于存儲系統(tǒng)的并行性可以減少正在進行并行請求的應用程序的延遲性,在同一時間滿足多為用戶多個請求的數(shù)據(jù)庫服務器可以提供更多比進行順序工作時更多的IOPS。
因此,在只有1Gb/s連接的存儲系統(tǒng)上配置SSD是否合理?如果這個存儲系統(tǒng)運行的是像Oracle、MySQL或甚至Exchange這樣的在小頁面上管理數(shù)據(jù)的數(shù)據(jù)庫應用程序,那么這種做法是合理的。要想用滿1Gb/s連接,需要1.5萬次8K IOPS,而一個沒有配置SSD的12個驅動器的SATA系統(tǒng)只能提供1500次IOPS。
現(xiàn)在,Steve的另一個觀點認為在沒有足夠的CPU、記憶體或軟件管理資源的低端存儲系統(tǒng)上配置SSD是不合理的。
一些基本的存儲設備性能指標: