伺服器產業掀熱潮,效能成關鍵指標
隨著雲端相關技術的成熟,業界對於伺服器架設的需求也逐年提升。除了需求數量提升,相對應的伺服器效能需求也隨之增加。若伺服器的效能沒有達到一定水準,使用者便會明顯感受到一定程度的不順暢。舉例來說:一般使用者在使用線上服務,如網路訂票或者瀏覽影音等,若伺服器因負載過大而效能較差的話,使用者便會感受到不順暢的網路體驗,甚至無法順利完成服務。
評估一台伺服器的效能,主要有幾個效能指標元件:中央處理器、記憶體、儲存裝置、網路卡等。
影響伺服器效能的關鍵:除了中央處理器、記憶體之外,儲存裝置也占了非常重要的部份,舉凡作業系統運行、資料讀寫存取,若儲存裝置速度慢,便會整體拖累伺服器運轉效能。
為了提升伺服器處理資料的效能,現今主流伺服器已普遍搭載SSD,伺服器廠商對於SSD如何挑選,除了價格以外,SSD本身的效能便是另一個重點。SSD效能評測,一般常見的IOmeter、FIO、CrystalDiskMark,可以快速的了解該SSD效能水平,但對於伺服器環境下,長時間高頻率使用性質,這類評測工具往往只能了解到表面,無法更深入了解SSD在伺服器環境下實際表現為何。
SSD效能評估:SNIA PTS是什麼?
針對SSD效能評估,SNIA(Storage Networking Industry Association) 提供了完整效能評估指引。顧名思義,該協會為提供網路相關製造行業所需的技術規範為主,協會制訂的相關規範廣泛,其中關於SSD效能評估相關規範為” Solid State Storage (SSS) Performance Test Specification (PTS)”,這項測試規範可以讓製造商與客戶,在評估挑選SSD儲存裝置效能時有所依據。雖然本規範中定義的測試規範可以應用於基於任何技術製造(RAM,NAND等)之SSD裝置,但本規範尤其在預處理(Preconditioning)和穩定狀態方面(Steady State)的重點是面向NAND相關產品。
現今主流的NAND-base SSD存取資料方式,是基於NAND-base的SSD控制器將邏輯地址(LBA)映射到NAND媒體上的物理實體NAND層地址(PBA),並透過演算法管理,以實現最佳的NAND性能以及其壽命。SSD通過獨立於主機的SSD控制器來管理這種LBA-to-PBA映射。這些運作的總和被稱為快閃記憶體管理(flash management)。下圖顯示了SSD效能變化趨勢,對於SNIA PTS測試概念至關重要。一般情況下,剛從包裝盒中拿出來的全新SSD(FOB),在經歷短暫的高性能期後,會隨著時間增加讀寫量後,效能下降進入轉換階段(Transition),最後效能逐漸穩定,轉入穩定狀態(Steady State)的表現。SNIA PTS目標在確保效能測量在穩定狀態區域進行,以代表設備在一般正常工作期間的效能。下圖也能理解到,雖然不同SSD效能表現不同,但整體趨勢可以看出FOB效能最好,隨著時間持續存取,SSD會進入一個效能較低,但穩定(Steady State)的狀態。
SNIA PTS的五項重點測試概念
1. 穩定狀態(Steady State)
SNIA PTS效能測試的重點在於穩定狀態下的效能測試。為何需要蒐集穩定狀態下的效能數據,協會這邊提到兩個主因:
I. 確保不會將SSD的初始性能(FOB或Purged)視為“典型數據結果”,因為這對SSD來說為暫時效能表現,不能反映SSD在其多數運行時間下的性能表現情形。
II. 讓測試執行者能夠觀察其趨勢,如,圍繞在平均值附近的波動在某種意義上是“穩定”的,但背後可能有其他原因(NAND品質,快取等等)導致其波動較大。
2. 清除(Purge)
為了確保每次測試結果的一致性,在每次預處理和測試開始前,必須對SSD進行清除操作,以抹除SSD上所有資訊,讓SSD回到FOB狀態。若被測物SSD不支援任何清除方法,則必須在報告中記載未執行清除動作。
3. 預處理(Pre-conditioning)
預處理的目的在於促進測試過程收斂達到穩定狀態,SNIA PTS定義了兩種類型的預處理條件:
I. 無測試腳本預處理(Workload Independent Pre-conditioning)
II. 測試腳本相依預處理(Workload Dependent Pre-conditioning)
簡單來說,無測試腳本預處理使用獨立於測試腳本以外的方式進行預處理,而測試腳本相依預處理則是使用測試腳本。雖然基於測試腳本的預處理不是測試流程中的獨立步驟(它發生在每個測試的核心測試迴圈中),但它對於獲得有效的穩定狀態結果至關重要。
4. 可運作範圍(Active Range)
在不同測試條件下,SNIA PTS定義了不同的LBA定址空間,如下圖所示,可以看到左邊為全部100% LBA,右邊為75% LBA空間。
5. PTS測試流程
SNIA PTS測試流程相同(IOPS、Throughput和Latency),至於其他特定測試流程規範已列於該章節中,這邊先不作討論,測試流程如下:
- Purge the device: 清除SSD上面所有資料。
- Run Workload Independent Pre-conditioning: 執行無測試腳本預處理(Workload Independent Pre-conditioning )的動作。一般使用128K SEQ Write 對SSD進行兩倍容量寫入。
- Run Test (includes Workload Based Pre-conditioning): 測試本體,按照測試腳本中指定的設置測試參數(OIO/Thread、Thread Count、Data Pattern等),設置完成後,執行測試迴圈,直到達到Steady State或最多25次迴圈。根據測試的要求,累積/記錄每次迴圈中間執行過程數據。
- Post process & plot the Rounds data: 測試結果處理與繪製迴圈數據。這邊會有兩種情況:
a. 在25次迴圈內成功完成測試,假設第X次完成測試,表示該SSD已進入穩定狀態,向前推5次(X-4)的這段區間即為量測區間。
b. 在25次迴圈中未能進入穩定狀態,則可以選擇再次回到步驟3重新執行迴圈,或者直接用第25次當作穩定狀趟。
結語
本篇就SNIA PTS測試概念以及流程帶讀者導覽其中重點內容,從中也可清楚了解到SNIA PTS測試對於server SSD benchmark的重要性,有別於一般測試軟體,SNIA PTS更是透過一定時間讀寫壓力,讓SSD效能真實呈現。若要評估一顆SSD效能好壞,除了測出該SSD最大效能外,穩定狀態下的效能表現我想更具指標意義。
擁有完整server測試環境的百佳泰也已具備執行SNIA PTS的儀器,百佳泰透過與日本知名實驗室合作之 Hirota Smart Tester測試儀器,提供完整SNIA PTS測試方案。除了上述SNIA PTS測試以外,更可以依照客戶需求,驗證客戶產品品質。通過百佳泰專業測試驗證與解決方案,您可提早發現產品潛在問題,找出的問題也能作為未來產品改版更新的重要依據。更多相關認證測試問題,歡迎填寫表單聯繫百佳泰。