真實世界的工作負載測試一直是計算機大容量存儲測試的必殺技。速度更快的SSD與虛擬化計算的使用已經將測試和評估SSD存儲解決方案的焦點從極端基準測試轉移到現實世界存儲工作負載的捕獲和使用。
新的免費軟件工具,可在www.TestMyWorkload.com下載,允許跨平臺捕獲,實現真實世界存儲級工作負載的可視化測試。
真實世界的存儲工作負載是什么?真實世界的工作負載,從存儲SSD角度來看,是使用計算機系統,數據中心網絡服務器,超融合服務器,獨立服務器,臺式機或筆記本電腦時出現的IO流的集合。 IO流部分是由你的軟件應用程序,操作系統(OS),用戶操作,元數據,日志活動,存儲分層策略,RAID配置以及硬件和軟件層抽象生成的。
SSD工作負載IO流是由不同數據傳輸大小(或塊大小)和讀/寫(R/W)混合的特定隨機(RND)或順序(SEQ)訪問組成。
工作負載IO流從用戶空間到存儲,遍歷硬件和軟件堆棧然后返回。IO流可以通過諸如虛擬化,分組化,數據簡化(壓縮和重復數據刪除),加密等多種活動在每個硬件和軟件層受到影響(變化)。此外,IO流可以被分解成更小的隨機或并發傳輸,并入更大的并行或異步IO或追加創建不同的數據傳輸大小。
典型的真實世界工作負載是由幾十,幾百甚至更多的IO流組成,IO活動通常由少量的IO流支配。例如,可能會出現幾百個獨立IO流,在那里只有六到八個流構成IO活動總數的90%或更多。
我為什么要關心它?
SSD性能是不對稱的——SSD性能本身就不對稱(讀取速度更快,寫入速度更慢),性能高度依賴于SSD工作負載。
性能取決于SSD“看到”的工作負載——由于SSD的性能是不對稱的,因此了解SSD實際上所看到的工作負載是至關重要的。由于工作負載IO流在穿過硬件/軟件堆棧時發生了變化,那么盡可能靠近存儲捕獲工作負載非常重要。
你的應用程序工作負載可能與供應商的標準工作負載不同——你的SSD設計和優化可能基于一系列供應商選擇的訪問模式或與現實世界使用案例不符的工作負載。因此,如果你的SSD針對大型塊順序讀取流量進行了優化,那么如果你的工作負載實際是由小塊隨機寫入流量組成,那么它的性能就會很差。
每個人都可以從IO捕獲,分析和測試中獲益——幾乎所有人都能從了解他們的SSD工作負載中獲益。IO捕獲,分析和測試將吸引SSD制造商,設計師,vmware開發人員,故障分析工程師,營銷主管,增值經銷商,系統集成商,IT專業人士,顧問,學者,研究人員,分析師,游戲玩家,發燒友充滿好奇心。
幾乎所有的客戶和企業應用程序都可以從IO捕獲,分析和測試里獲益。許多應用程序將獨特的或計算密集型的工作負載應用于SSD,但我們不知道“凈SSD工作負載”是什么樣的。無論是使用案例或應用程序,實際的IO捕獲可以幫助識別SSD工作負載,并有助于改進SSD設計和優化。
綜合基準 測試與真實世界的工作負載有何區別?
合成基準測試通常使用“四角壓力測試”,由特定的一組訪問模式和塊大小/讀/寫(BS/RW)混合組成的。此外,這些工作負載通常應用在一個或多個IO流中。
SSD的設計和測試采用極端基準測試,或由較少的用戶應用程序工作負載的粗略估算的IO流和base 2整數塊大?。ㄈ?K,8K,16K,32K等)。
請參見圖2,顯示單個SSD上的四角環境工作負載。真實世界的工作負載是眾多復雜的IO流配置,代表了在多個硬件平臺和操作系統上運行的一組幾乎無限的用戶工作負載。
由于真實世界的工作負載與用于制造和優化SSD的工作負載不同,供應商或制造商的性能指標可能與SSD的實際工作負載和性能無關。
什么是IO捕獲?
IO捕獲是指你的計算機上發生的IO流活動的收集和統計表。IO捕獲與IO跟蹤和回放不同,因為它沒有從目標計算機收集數據。IO捕獲僅識別并計數訪問存儲的IO數,并收集各種有意義的指標信息。
IO流被列為各種數據傳輸大小和R/W混合的隨機或順序訪問。指標收集是針對IOPS速率,吞吐量(MB/S),隊列深度和響應時間,并且根據軟件工具,可以收集更多高級指標,例如LBA(邏輯塊尋址),重復數據刪除率和壓縮比(有關IO捕獲指標的更多討論,請參見下文)。
IO追蹤和重放是指寫入存儲器的二進制數據實際記錄,包括閑置時間,未來可在不同的設備上重播。IO追蹤收集了大量的數據。
這限制了測試周期的實際長度,并將需求強度限制為源捕獲的強度。大型追蹤文件也讓管理(收集和回放)已創建的超大數據文件變得困難。
如何捕捉真實世界的工作負載?
公有和私有工具幫助你捕獲真實世界的工作負載IO文件。公有工具諸如用于Windows的PerfMon(Performance Monitor)和用于Linux的BlkTrace(Block Trace),提供用于報告和收集IO流量統計信息的操作系統內核工具,也可以使用諸如Calypso IO分析器之類的免費工具實現具體的監控和測量存儲IO流量目的。IO 分析器提供詳細的特定輸出,支持SSD特性和測試??稍赥estMyWorkload.com下載。其他高級度量,數據分析和測試功能可以購買“Pro”版本IO分析器。
我們在軟件堆棧方面采取IO捕獲重要嗎?因為IO流在穿過硬件和軟件堆棧(并受到系統緩存和軟件抽象使用的影響)時會發生變化,所以將IO流盡可能接近存儲級以便了解真正的SSD工作負載至關重要。在平臺和操作系統之間擁有通用的IO捕獲工具可以增強不同平臺和操作系統之間的工作負載的對比。
IO捕獲如何可視化?
獲取IO捕獲的原始數據有很多方法——從簡單的數據點值到csv表到關鍵的單一指標繪圖。TestMyWorkload.com的免費工具利用創新的數據可視化和數據分析工具來顯示SSD存儲規格在豐富的上下文數據儀表板中捕獲信息和指標。
IO流映射
TestMyWorkload.com示例3顯示了2000個批發零售網絡服務器的24小時IO捕獲信息。IO流映射顯示了所有在24小時內出現的IO流。每個單一IO流都用顏色表示,并列為數據系列圖例。IO流量度量根據Frequency(概率%)或Amount Transferred(GB)顯示。
流閾值功能過濾IO流,僅顯示構成 所選百分比的IO流活動。默認值顯示IO流的總數為3%或以上。更改流閾值將相應更新IO映射,LBA映射和工作負載分段表。
工作負載分段表標記A,B,C和D的紅線表示所選的工作負載段。工作負載表(見圖5)列出了整個捕獲周期內出現的所有單一IO流。在這里,累加的工作負載顯示3個流,占總IO總數的55.1%(163.5GB的5,038個流)。如果流閾值降低到2%,則將增加2.12%的附加隨機8K R流,達到4個IO流。時間點,時間段或進程ID(見軟件進程ID列表)的其他選定工作負載顯示為工作負載A,B和C.
選擇窗格和軟件進程ID列表,在用戶窗格中選擇“進程”顯示IO
通過軟件進程ID捕獲指標。默認視圖顯示操作系統標識的所有進程。可以選擇特定的進程顯示。在下面的圖6中,Windows系統進程被隔離顯示。請注意進程ID顯示與特定進程相關的IO。然而,所選擇的進程ID可能不會顯示與進程相關聯的所有IO,因為許多的應用進程可能被包含在更廣泛的系統進程ID內。
LBA范圍地圖
LBA范圍顯示每次IO訪問由LBA(邏輯塊尋址)范圍以百分比表示。 100%LBA范圍代表整個用戶可 訪問的存儲區域。可以將IO流過濾以顯示隨機或順序訪問。訪問的數據量由在LBA范圍圖上顯示的氣泡顏色和大小表示。 LBA圖顯示每個IO流的局部空間和時間并可用于設計或驗證存儲分層策略和軟件層優化。
關鍵的IO捕獲指標是什么?
下面討論一些關鍵的IO捕獲指標。滿足最低百分比閾值的IO流將顯示在IO流映射上。IO流閾值可以設置為0.5%至10%,并可通過頻率或數量來查看。
數據傳輸
在圖7中,每個IO流(或數據傳輸)都有獨特的顏色。當工具提示懸停或選擇數據點或段時,會顯示IO流詳細信息。
寫入存儲并指示寫入存儲的數據可以額外壓縮多少??梢栽谌魏螘r間點或過程中查看工作負載的平均值和最大可壓縮比。
重復刪除率
重刪比率分析寫入存儲的二進制數據,并指示寫入存儲的數據可以再額外去刪重多少。任何時間點或過程都可以查看重復數據刪除率。