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