翻譯原文來源
http://www.tomsitpro.com/articles/enterprise-ssd-testing,2-863.html
1. 方法
過去幾十年來機械硬盤在企業級存儲市場占據統治低位。HDD生產廠家少,不同廠商的產品之間性能差異非常小。采購HDD的考量因素集中在這麽幾點,每GB的價格,容量,可靠性和功耗指標。
和HDD不同,基於閃存的存儲產品即使在同一級別的不同型號的產品間也有巨大的性能差異。SSD是已經固化的企業級存儲市場的顛覆者,基於閃存的存儲產品展現出了獨特的指標和特性,在采購過程中需要分析這些指標。根據終端應用的不同,任何存儲設備的性能都有區別,但閃存產品放大了這個性能差異。
SSD廠商很大程度上通過寫壽命來區別產品類別,這個指標是由NAND有限壽命的特性而決定的。SSD產品分為三個級別,讀為主,混合使用和寫為主。我們的測試方法涵蓋了從讀為主的低價SSD,上到速度最快的PCIe和基於閃存通道的產品。我們從每個類別中選取代表性的產品進行不同的測試,這些測試項目根據寫入壽命和價格的不同而設計。
2. 性能波動
在完美世界裏,每個IO請求的觸發都有相同的速度和延遲,幾乎沒有變化。不幸的是,所有的存儲設備在運行中的性能都是波動的。SSD和其他基於閃存的設備和HDD相比,性能波動範圍更大。性能穩定性的不同和許多因素有關,控制器,固件,NAND,錯誤處理算法,內部管理技術和OP。
根據多種影響因素去描述閃存設備性能波動的特性是非常重要的。性能波動對於應用性能和RAID擴展能力都有負面影響。出錯的IO使得應用不得不等待某些關鍵數據。在一些情況下,後續操作依賴前一步請求的數據。這樣的情況一旦發生,某些IO操作就會拖慢整個應用。
軟件和硬件RAID,以及其他的聚合多個設備到一個整體的方法,只會加重波動性。RAID陣列的速度受限於最慢的設備,所以在大多數情況下,一個設備上的一個出錯的IO會降低整個陣列的速度。出錯IO的數量隨著加入陣列的設備數量增加而增加,因為從更多的設備上產生了錯誤IO。
測量平均性能的方法展現了對於性能測試的基本理解,但幾乎不可能體現IO QsS(服務質量)。為了展現性能的波動性,我們在測試程序中插入了高粒度。我們每隔1秒鐘測量一次性能,然後標記到坐標上,這樣能夠觀察到對於單個盤有趣的性能趨勢。那些IO服務分布緊密的盤在應用中表現更好,同時在磁盤聚合環境中擴展性也更好。
上圖是三個盤做4k隨機preconditioning時的IOPS隨時間分布圖。
讀為主(或者說低端級別)的SSD和高端SSD相比波動性更大。我們簡單地分析一下上面的圖表,這個圖表展現了三個市場上領先的2.5寸讀為主的產品(都是讀為主的低端SSD)在穩態下4k隨機性能的穩定性。Y軸表示IOPS值,X軸表示我們在待測設備(DUT)上運行負載的時間長度。
通過這個圖表我們立馬就可以看到在樣本庫裏不同產品之間在性能穩定性上有明顯的差異。C產品平均速度高很多(黑色趨勢線標記),但是我們的測試方法暴露了這個產品低於其他競爭對手的某些重要種類的特性。這個SSD由於更高的平均速度,可能更適合於單個盤的部署。然而,在RAID和其他磁盤聚合方案中,顯著的性能波動性會隨著加入陣列的磁盤數量增加而遭受越來越大的性能損失。
B產品展現了不錯的性能穩定性,沒有很多偏差現象,在與其他磁盤聚合的應用下擴展性線性增長。粒度在判斷SSD內部管理功能的側重點方面也很有用。A產品性能排布很緊密,間歇地有一些性能下降的脈沖,這種現象表明了後臺正在進行的GC影響了性能。
3. 預處理(Preconditioning)
有效並且有競爭力的性能分析需要遵守工業界普遍接受的預處理基本理論。SINA(Storage Networking Industry Association)是一個標準體,消除了衡量閃存設備有效性能的障礙。Solid State Storage Performance Test Specification (PTS)Enterprise V1.1歸納了一些處理方法上的關鍵原則,以確保獲得準確和可重復的測試結果。
我們的測試過程在執行處理協議後進行,同時,測試結果通過同樣的方式線性展示出來。
剛拿到SSD的時候通常是全新開盒狀態(FOB)。在FOB狀態下,盤沒有運行過持續的負載,最初的測試會看到很高的數據,這個數據是反常的。穩態指在待測的負載上獲得最終水平的性能,只有在連續使用後才會達到。上面的圖片展示了從性能FOB下降到穩態的過程。
隨著測試的進展,我們註意到在狀態變化過程中性能出現下降。這是因為運行的負載迫使SSD控制芯片對於每一個等待的寫操作做"讀-修改-寫"(Read-modify-write, RMW)動作。SSD最後到達穩態,代表在長時間使用期間可以達到的性能指標。
SNIA定義了三個步驟以到達穩態。第一步是凈化(Purge)待測設備(DUT)。這個步驟使得盤在預處理和性能測量前達到一個穩固狀態。DUT的凈化操作對於SATA設備需要ATA secure erase命令,對於SAS設備使用SCSI Format Unit命令。對於其他設備,比如PCIe SSD,則需要使用廠商自定義的工具來凈化設備。
一旦盤處於幹凈的FOB狀態(通過凈化命令),我們便會啟動兩種類型的預處理。與負載無關的預處理(WIP,Workload Independent Preconditioning)包含一個與實際測試樣本沒有關系的負載。在WIP預處理階段,我們用128K順序寫把整個磁盤空間寫兩遍。這個步驟做完後所有的LBA和OP空間都做了映射,填滿了數據。
WIP階段做完後,我們立即開始與負載相關的預處理(WDPC,Workload Dependent Preconditioning)。WDPC利用運行產生待測變量的測試負載,使得設備到達穩態,並且這個穩態和待測負載相關。到達穩態後,平均性能在性能測量窗口中不會變動。運行每個負載都需要一輪完整的預處理過程。到達穩態後,我們在一個測量時間窗口中記錄性能數據。
上面的圖表展現了使用我們的測試方法,將一個盤狀態轉化為穩態。SSD展現出了不同級別的性能穩定性(先前的描述中已經包含)。在預處理過程中,我們每一秒鐘記錄性能數據以體現出性能波動。Y軸表示IOPS性能,X軸表示我們在DUT上運行負載的時間(圖表中已經標註)。
整個預處理圖表包含18000個數據點。藍色點表示測量到的IOPS數據,灰色點表示延遲(latency)數據(右邊的對數縱坐標)。數據點中的紅色線代表預處理過程中的平均數據。延遲和IOPS有相反的觀感,這是指在當我們看到性能越來越高時,延遲的分布也就越來越好(性能高,延遲小)。預處理階對於一個正常使用的企業級SSD而言,在其生命周期中極少發生。我們把這個步驟包含進我們的測試方法是為了在運行每個負載前,讓盤進入穩態。
4. 隨機讀,隨機寫和混合讀寫
閃存存儲設備有助於減小機械存儲和系統內存之間的性能差異。SSD在運行隨機負載上有巨大的優勢,隨機文件訪問對於任何存儲設備來說都是最困難的類型。機械硬盤的機制決定了其對於小文件隨機操作處理不佳,任何一個SSD都能在隨機性能上超越HDD。
在對於所有產品評估中,我們把4K(或者8K)讀,寫和混合讀寫的負載作為標準項目。4K隨機訪問是一個工業標準指標,會出現在市場宣傳材料中,這個指標幫助我們判斷一個存儲設備是否物有所值。許多企業級應用很依賴8K隨機性能,我們把它也包含在性能測試中,以展現在很多企業級應用中能見到的性能曲線。
在運行寫入負載的時候有性能下降是可以預期的,但是一些SSD在穩態下讀性能甚至也有大幅下降。我們在讀負載時同樣使用在先前所有測試中使用的標準預處理協議。上圖更清晰地展現出了主流PCIe SSD的4K隨機讀性能。Y軸表示IOPS性能,X軸表示我們在DUT上運行負載的時間(標註在圖標中)。
未完成IO(OIO)表示在任一時刻,等待完成的待定操作的數量。我們在設計測試時把負載放到線程中。上圖中8 OIO表示這個負載有8個不同的進程執行IO操作。例如,8個單獨的工作進程每個都生成一個32隊列深度的負載,這樣就產生了256 OIO的測試。4 OIO表示4個工作進程單獨產生QD1負載,2 OIO包含兩個QD1進程,1 OIO就是單個OD1進程。如上圖所示,我們對於每個不同的OIO測試300秒。
在真實世界的使用情況下,存儲設備通常會操作16-64個OIO。在評估存儲設備時,我們關註的是中段範圍內的特性,也就是最佳比例範圍。100%隨機讀負載比起100%寫或者混合負載來說,波動性不那麽大。但顯然,100%隨機讀也不可避免地會有波動。
在這個測試池裏,隨機寫測試波動性很大。我們每間隔300秒記錄平均性能。同時在右下角有一個子圖,用來表示最受關註的測試項目(256 OIO)的平均性能。這個測試池中有市場領先的PCIe SSD,不像經濟型型號那樣波動性那麽大。當許多SSD展現出明顯的不同性時,散點圖看起來就會很混亂,對於經濟型SSD更是明顯。某些情況下,我們會使用趨勢線(去除散點)圖表。
廠家列出的性能數據僅僅包含100%讀或寫的負載,但是隨機純讀純寫在大部分實際場景下很少見。最常見的是混合負載,混合比例根據每個應用不同而不同。上圖的測試是按讀寫混合比例每次增加10%而得到的性能數據。100%列表是純隨機讀。圖表漸漸向右直到最右端表示0/100的純隨機寫。這個測試包含11個測量窗口。我們在每個測試窗口時顯然設備穩定在穩態,然後只記錄每個階段最後300秒的數據。
這個測試特別適合展現標準測試方法不容易觀察到的缺點。例如,產品A在60%到80%混合讀寫比例段表現出了顯著的波動性,觀察在此階段中的延遲可以解釋這個問題的原因。我們同時觀察到產品B讀性能不是最高,但隨著我們推進到常見的混合讀寫比例,產品B表現出了切實的性能提高,對實際應用有益。
5. 低隊列深度測試的重要性
和最新的SATA SSD相比,早期的SSD慢得多,更不用說當前的NVMe盤。由於成本降低,數據中心越來越多地在普通應用上部署SSD。性能的增加和成本的降低結合起來,改變了相關存儲產品性能指標的評估方法。
廠商喜歡取悅我們,會展示一個不可思議的IOPS值,這個數值只有在重度負載情形才能下得到。但是,SSD在常規部署時候極少會觸及性能指標的範圍邊界。在很少見的情況下,SSD會達到性能指標規定的上限,但是通常這時候延遲數據不好看,無法滿足SLA要求。
大多數的測試技巧並不符合真實世界應用的需求,這樣的差距最後歸結(boil down to)為有效的隊列深度(QD)。QD指有多少個向外發出的請求在排隊等待處理。想象一個底部有一個小洞的空籃子。往籃子裏以穩定的速度註水,並且註水速度快於籃子漏水速度時,籃子就會被註滿水。這個比喻類似於SSD中建立隊列。如果請求數據(水)的速度快於設備處理速度,那麽這個放置外向請求的籃子就開始被填滿。
我們的目標是永遠保持籃子處於空狀態,為達到此目的最方便的方法就是在籃子底部鑿一個更大的洞。即使註水速度加快,由於漏水速度也更快,籃子中的水就不會那麽滿。更大的洞象征的更快的存儲設備,這個設備能夠更快更高效地處理請求。
如今的SSD達到了很高的性能水平,可以非常快地處理請求,由此降低了整體的隊列深度(QD)。所以即使搭配優化不佳的應用和操作系統,對於大多數用戶場景來說也不必要做高隊列深度的測試。
上面的圖表由Intel提供,展示了Intel自己的測試結果,基於SSD在不同應用中的真實負載。這個圖標說明了即使數據中心處於最大負載,隊列深度也極少超過64。
這不是我們觀察到的體現低隊列深度重要性的唯一數據。我們和不同廠商的多個性能工程部門交流中也印證了Intel的數據。我們在開發可靠的方法以測試數據庫負載時,進行了內部測試。我們發現在我們的環境中進行TPC-E和TPC-C測試時,QD很好地保持在32以下,即使在RAM容量非常有限的情況下也是如此,這個現象證實了低隊列性能的重要性。
通常來說,預期的SLA延遲範圍是5-10ms。高強度的負載,比如實時競價和金融服務要求小於5ms的相應時間,請求要快速生效。一些分析應用需要大約8ms,數據倉庫需要小於10ms延遲。上面的圖表說明了我們在評估過程中關註低隊列深度(1-32 OIO)的性能。
6. 順序讀,順序寫和混合讀寫
機械硬盤實際上已經可以提供充分的順序性能,在聚合成不同的RAID實現時更是如此。SSD在運行順序負載是同樣可以提供非常可觀的速度,特別是在備份和復制數據時。
緩存和分層會試圖在主軸層(spindled layers,紡椎體層)保持順序訪問,在閃存層保持隨機訪問。在把數據從閃存層搬移的過程中,仍然需要強大的順序讀寫性能。許多其他的負載同樣需要可靠的順序性能,這使得順序訪問成為衡量一個SSD是否全面(well-arounded)的重要因素(ingredient)。
順序讀負載出現在OLAP(聯機分析處理) ,批處理,內容發布,流和備份應用中。我們測試池中最快的設備峰值數據在128 OIO達到了大約3.1GB/s, 或3185MB/s 。
順序寫性能體現在諸如緩存,復制,HPC和數據記錄負載中。總的來說,順序寫負載和隨機讀相比,種類要少得多。然而,在順序寫測試中,某些SSD和其他相比依然體現出了更大的波動性。另一個重要的分析順序性能的方法是觀察延遲數據,在第7頁會涉及到。
混合負載的重要性不可過分誇大,這對於順序訪問來說同樣如此。我們在這個圖表中分析了高端PCIe SSD。這個測試也體現出了產品間顯著的不同,對於2.5寸經濟型市場來說更明顯。許多2.5寸SSD在100%順序讀寫時可以獲得高分,但在中段範圍內性能顯著降低,我們的測試結果就體現出一條浴缸線。
100%列表是純讀負載。隨著圖表右移,我們逐漸加入寫操作,在最右邊0/100純寫負載。這個測試由11個測量窗口組成。我們讓存儲設備在進行每個寫混合比例測試前先達到穩態,並且在每個階段中只記錄最後300秒的數據。(前面有過同樣的測試)
7. 負載測試
存儲子系統性能受多種環境因素影響而變化。服務器,網卡,交換機,操作系統,驅動和每個設備的固件,這些測試環境中的因素都會對測量結果產生直接影響。這使得在實際應用負載下有效測量性能變得很難。同樣就像人為制造的負載一樣,即使在最好的,完全復制的環境下測得的結果也只能代表這個特定的環境。
我們的目標是把我們的測試擴展到應用測試。但在此期間,我們提供了許多負載案例,這些負載都經過業界接受的模擬應用測試。我們在直連配置下進行測試。這給所有存儲設備提供了一個公平的環境,沒有網絡,協議或其他硬件來幹擾我們的性能測試結果。這個測試方法從存儲設備角度,清晰展現了和應用相關的性能,沒有諸如過度CPU負載這樣的人為阻礙。
OLTP/數據庫測試代表了處理在線事務任務時帶來的大量事物負載。測試模式為8k隨機測試讀67%,寫33%。我們所有的應用測試都是用線程的方式運行負載任務。圖表右下部分表示了在256 OIO時的平均性能。
郵件服務器負載更重一些,包含8k隨機訪問,50%讀和50%寫。這個結果表示了在高負荷隨機混合負載時的性能表現。
Web服務器負載包含100%的隨機讀,文件大小不同,範圍很大。在不固定的文件大小下進行多線程訪問對於存儲設備而已言是非常具有挑戰的。
Workload | Read | Write | 512B | 1KB | 2KB | 4KB | 8KB | 16KB | 32KB | 64KB | 128KB | 512KB |
---|---|---|---|---|---|---|---|---|---|---|---|---|
Web Server | 100% | 0% | 22% | 15% | 8% | 23% | 15% | 2% | 6% | 7% | 1% | 1% |

文件服務器負載包含80%隨機讀和20%隨機寫,會訪問各種大小的文件。寫操作和不固定的文件大小,對於存儲設備而言是很苛刻的測試。
Workload | Read | Write | 512B | 1KB | 2KB | 4KB | 8KB | 16KB | 32KB | 64KB | 128KB | 512KB |
---|---|---|---|---|---|---|---|---|---|---|---|---|
File Server | 80% | 20% | 10% | 5% | 5% | 60% | 2% | 4% | 4% | 10% | - | - |
8. 測量延遲
性能數據如果不包含延遲測量是沒有意義的。所有存儲方案的目標就是提供穩定,可預測的延遲。但通常情況下並非如此。最大延遲指標只是量化了在一個測量窗口最差的單個I/O的數據。這樣說會引起誤解,但確實單個的錯誤I/O會掩蓋對一個優秀存儲設備的評價。標準離散測量量化了延遲的分布圖,但為了獲得更清晰的關於延遲服務質量(QoS)的數據,我們可以增加粒度,按照1秒間隔測量。
低延遲是內存設備的關鍵優勢,同時對於應用而已,低延遲是最令人渴望的特性。我們的高粒度測試顯示在不同負載情況下的延遲波動性。
我們的標準延遲圖表包含在測量窗口中記錄下來的所有延遲數據。我們為每個負載都包含這個圖表,用以觀測在不同的負載下的延遲。大部分的負載會落在16-64 OIO區域中。
OLTP/database應用下的延遲-IOPS曲線
我們的延遲-IOPS圖表展現了在某個特定延遲值時的IOPS性能。如果你熟悉應用的需求,這些圖表用清晰易懂的格式展現了延遲和IOPS數值的相關性。圖表的大圖部分展現了上至256 OIO的延遲數據。許多設備,特別是2.5寸SSD,在高負荷情況下,遠遠超越正常延遲數據的邊界。我們在左上角的小圖中展現閃存設備在小於2ms延遲的情況下的IOPS性能。
奇怪的是,SSD出眾的速度實際上限制了延遲-IOPS的性能。快速存儲設備處理IO請求速度很快,使得設備更難達到一個對於許多SSD而說會產生最多IOPS的高負荷。許多應用要求響應時間落在特定延遲範圍中,同時在低延遲情況下輸出更多IOPS的能力也是一個令人渴望的特性。
我們也貼出從隨機混合負載測試測得的延遲數據。同樣情況下,延遲特指在QD=1時的4K隨機負載,這是一個可靠的基準測量方法。延遲測量在高負載和不同的寫混合情況下會發生劇烈變化。我們註意到Mangstor MX6300波動性劇烈,和競爭對手比在20/80到0/100的寫混合範圍裏延遲值更高。測試所有的隨機寫比例有助於發現對應用性能有不利影響的異常情況。在高負荷下測量所有讀寫比例點的延遲,對做有效的競爭性能分析的至關重要。
電源效率測試
耗電是數據中心令人頭疼的事。耗電量的代價隨著時間而累積,通常最後的花銷會高於購置設備時候的預估 (up-front drive acquistion)。大部分閃存設備經由獨特的設計(poised),可以緩解(alleviate)耗電限制。典型的SSD缺少轉動部件,由此降低了耗電和發熱。不是所有的數據中心都是設計成空氣流通的方案,因此發熱越低對冷卻需設備的需求就越低,更加省電。
IOPS-Watt指標對於衡量SSD是否高效非常重要。一些高性能的PCIe SSD耗電比單個的HDD都高,但他們擁有極為出眾的性能。這些SSD總能在IOPS-Watt指標上占上風(prevail),這個指標測量了每消耗一瓦特能量設備可以完成多少工作量。
許多決策者並不會特意分析SSD耗電,這僅僅是因為和有轉動部件的同類HDD相比,SSD確實更高效。一些人看到了可觀的省電量就認為SSD贏了。然而,單個SSD少量耗電區別對於一個典型的五年服務期的大規模SSD部署來說,意味著大量的節省。我們在不同的SSD型號間發現了耗電方面巨大的不同,我們設計了耗電測試,在余下的內容中(regimen 規則),這個測量方法代表了相同的高粒度測試。
長時間測量耗電非常困難。大部分功耗測量工具板載存儲容量有限,限制了可測數量。我們使用Quarch XLC可編程電源模塊來記錄耗電數據,因為這個工具是流應用,提供了理論上無限的測量窗口。Quarch XLC同時特別靈活,它可以測量各種版型,包括SAS,SATA,PCIe AIC和U.2 2.5 PCIeSSD。我們對Quarch XLC PPM的完全測評。
我們的測試包含整個預處理階段,測量每分鐘的功耗。上面的圖表包含了在一個典型的15000秒(4小時)的測試中得到的功耗。我們註意到像性能數值一樣,功耗數據也是變化的。一旦SSD到達穩態功耗也會變化。我們從測試的最後五分鐘計算出平均數字,放在右下角的圖表中。
我們把預處理階段的性能和功耗測量值綜合起來看,得到了SSD的IOPS-Watt圖。兩個競爭型號之間的效率相差超過1000 IOPS/Watt。這說明某SSD在低功耗狀態下可以完成更多的任務,在許多競爭型號之間,這個差距可能更大。在許多部署的整體架構中包含多個SSD,效率指標要綜合起來看。
QoS多米諾效應 - QoS測試
“不考慮延遲的IOPS數據是沒用的”這個說法沒錯。然而,實際應用中會涉及在運行中的延遲QoS(服務質量),會對應用性能有很大影響。我們的用1秒鐘的粒度測試來觀察延遲的波動,但是QoS指標讓這個問題變得萬眾矚目。
廠商用百分位定義QoS指標,比如說99.99th百分位延遲。開源的測試工具fio會測量在測試過程中每個IO的延遲,通常涉及到數十億IO請求。例如,單次4K預處理通常包含四十億個IO請求。
99.99th百分位延遲不包括所有的延遲測量數據,而僅僅是最慢的0.01%請求,這就給了我們一個平均值,用來衡量最差情況的延遲。
關註0.01%的IO可能看起來只是在整個請求數量裏極小的一部分,但這相當於在一次4K預處理中,最差的4000萬個IO的性能。這些有問題的IO通常稱為“異常”或“長尾延遲”(遠遠偏離正常範圍內的延遲)。異常延遲會快速累積,但實際多種因素的累加會導致QoS的多米諾效應。
應用通常會從前序操作中獲得信息,繼續進行後續操作。例如,一個數學公式需要得到一個解才能進行後續操作,每一個接下來的操作都會觸發其他操作。單個的異常減慢了系列中的第一個操作,然後產生了連鎖反應,影響了大量的後續操作。如果一個異常IO阻塞了單個操作,那麽就會影響到上百個後續操作,每個接下來的操作都有可能碰到異常情況。
這個行為對應用性能產生了巨大的阻礙。更糟糕的是,應用會在同一時刻遇到大量異常,推到了其他後續操作行列的多米諾骨牌。
很多情況下,存儲層幾毫秒的延遲會導致應用層幾秒的延遲。高速SSD每秒可以處理超過800k請求,異常情況會快速堆積。異常對於RAID實現而言更是災難性的。一個RAID陣列受限於最慢速的IO,每個新增的設備同時會增加更多的異常,就像完美風暴,摧毀了RAID陣列的擴展性。
我們在每篇文章中都會包含QoS數據,同時還有額外的高粒度QoS分組。QoS-IOPS圖表標記了隨著負載增加,測得的99.99th延遲數值。我們把QoS(用延遲測量)標記在Y軸,IOPS性能標記在X軸。圖標中最低值是最好的。在這個例子中,A產品QoS性能比最好。
延遲QoS圖表測量32 OIO,涵蓋了不同的百分位數值。上圖在X軸標記了多種QoS,從最左邊的1百分位遞進到右邊最苛刻(demanding)的99.99百分位。我們在縱軸上標記延遲數據(單位毫秒)。在這個例子中,Intel DC3700測試結果最低,在測試中表現出最佳性能。
標準差是另一種常用的測量方法,用於衡量性能波動性。不幸的是,標準差很難用清晰明了(coherent)的行為表示。例如,如果我們比較兩個都能提供1ms標準差的設備,他們看起來應該是一樣的。但是,其中一個SSD可能可以提供1M IOPS,而另一個只能有5000 IOPS。這個例子,哪個SSD速度很快一目了然。
為了更高效地比較標準差,我們對測量方法做了規範化。在上圖中,產品A能在500k IOPS時提供0.05毫秒的偏差值(Y軸),產品B和D在500k IOPS是偏差值為0.075毫秒。每個IOPS數值對應的偏差值最低表示結果最好。
Y軸為IOPS百分比
直方圖關註在32 OIO下,落在不同延遲範圍中的操作數量比例。在上圖中,產品C中72%的操作落在0.1至0.25延遲範圍中。期望中的直方圖同時和兩個因素相關,落在每個區間中IOPS比例,和落在更低延遲區間中的操作數量。最佳結果指在最低延遲區間中有最高比例的操作。
測試環境
這個半高機架容納了我們大部分的測試設備,但是我們還有留有其他服務器,方便在實驗室繁忙時更容易地更換組件。在進行真正的性能測試前,我們用這些部署好的平臺嘗試了多種性能特性。我們用單臺服務器專註於單個分類的待測設備,並記錄和測量性能數據。
測試平臺根據待測存儲設備不同而不同,但用於DAS測試的關鍵服務器是一臺Intel S2600GZ。這臺服務器配置為兩個至強E5-2680 v2處理器和128GB美光DRAM。我們使用Avago HBA做大部分直連測試。我們同時也使用不同的Avago和Adaptec的RAID卡做RAID測試。我們在對單個產品驗證中會列出任何的硬件變化。為了公平起見,每個驗證步驟中測得的所有測試數據都是在同樣的服務器平臺上獲得。
10GbE Layer 3 Supermicro SSE-X3348TR交換機為我們的測試環境提供中央聯網。這個交換機擁有48個10GbE Base-T接口和4個額外的40GbE包含QFSP連接的級聯端口。QFSP到4x FSP+轉換線給我們的實驗室提供了充足的連接能力和可靠的功能,使得我們能用統一(cohesive)的方式管理整個測試環境。
SSE-X338TR交換機提供了大量的功能,包括24個連接聚合端口(每個端口最多支持8個成員),可配置的QoS特性,雙熱插拔PSU和冗余的風扇。這個交換機能夠提供最高1284Gbps的非阻塞性能,豐富了我們的測試環境。
結論
通常情況下,你們的裏程數都不同。性能通常依賴於部署的環境。我們的測試方法把所有設備放在一個標準的環境中測量性能,由此產生精準和可重復的測試結果。
企業級存儲之間的細微差別決定了沒有一個方案適用於所有的需求。雖然某些設備性能較低,但權衡功耗或低資產開銷,仍然可以接受。關鍵是要確定每個解決方案的優勢和缺點,引導我們的讀者做出明智的(informed)采購決定。如果你有任何問題或需求,隨時在評論區提出。
Tags: 完美世界 控制器 穩定性 代表性 可靠性
文章來源: