HDD機械硬盤幾乎沒什么隨機性能,,所以測試時跑幾個讀寫速度測試就算完了,,但是SSD固態(tài)硬盤的情況復雜的多,,讀寫過程不一樣,隨機性能也不一樣,,主控,、NAND類型及OP空間的不同導致性能差異很大,而越用越慢的特性也讓初始性能和日常使用性能涇渭分明,。
我們常用的SSD測試軟件包括CDM,、AS SSD、ATTO,、Anvil,、IOMeter,還有考驗綜合性能的PCMark系列,,這些軟件各有各的特色和優(yōu)點,,但是有沒有想過這些軟件測出的性能其實并不一定準呢?
在本月中旬的全球FMS閃存會議上,,已把SandForce納入旗下的LSI公司市場總監(jiān),、Flash部門高級總監(jiān)Kent Smith做了“不要讓你喜歡的測試軟件欺騙你”的演講,談到了目前SSD基準測試軟件所面臨的問題,,來看下PCWatch網(wǎng)站的報道,。
Smith先生首先說到,性能測試面臨的問題可分為兩部分,,一個是性能測試自己的,,一個是用戶自己運行測試的。第一個,,工廠里的測試是人為模擬的,,因 為現(xiàn)實中每個用戶的使用情況都是不同的,電子產(chǎn)品測試和現(xiàn)實測試是不一樣的,,這在業(yè)界是常識,并僅僅局限于存儲產(chǎn)品,。用戶需要知道,,基準測試不一定能反應 真實性能。
他指出,,進行SSD測試之前,,首先要做的是預調(diào)(preconditioning),SSD發(fā)貨之后的性能取決于它的寫入歷史,,因此測試前需要將SSD恢復到初始狀態(tài),,如果不進行這個過程,那么SSD測試得出的結(jié)果可能就不合理。
目前的SSD測試所存在的問題
這里列舉的是一些SSD測試存在的問題:理論測試與現(xiàn)實脫節(jié),、更關注孤立情況,、通常使用最壞數(shù)據(jù)熵的情況下的例子、混淆了MiB/s和MB/s 單位,、沒有將SSD置于已使用狀態(tài),,其他操作上的錯誤還有:沒有手動預調(diào)SSD或者調(diào)錯了、錯誤理解數(shù)據(jù)熵之類的結(jié)果,,此外還缺少其他相關數(shù)據(jù)的測試,,比 如每GB數(shù)據(jù)寫入的功耗、電池續(xù)航,、寫入放大,、前臺vs后臺垃圾回收等。
真實情況介于100%讀和100%寫入之間
Smith特別強調(diào),,測試沒能真實反應實際性能的一大問題就是沒有考慮SSD四種性能(指的應該是讀,、寫速度和讀、寫IOPS這四種)的比例問 題,。通常情況下,,SSD在100%讀取時IOPS性能最高,在100%寫入時IOPS性能最低?,F(xiàn)在的測試只反應SSD的讀取和寫入IOPS理論性能,,但 是缺少二者的比例。
他舉了一個例子,,如果是95%讀取,,5%寫入,這種情況下其性能應該接近測試測試得出的IOPS讀取性能,,但實際情況下,,那怕寫入IOPS只占5%,Smith展示的實際性能測試就從讀取IOPS的一半下降到了五分之一,,損失了50-80%的性能,。
就算寫入IOPS只占5%,SSD的實際性能也要損失50-80%
用戶存儲的數(shù)據(jù)也會影響SSD性能
SSD的特性大家也多少了解了,,數(shù)據(jù)儲存的越多,,SSD性能就越低。如果用戶連續(xù)儲存數(shù)據(jù),,那么SSD的性能就會高一些,,存儲的越隨機,SSD性能就越低,。為了描述這個狀況,,引入了數(shù)據(jù)熵(Data Entropy)這個概念,,隨機數(shù)據(jù)越多,熵越高,,連續(xù)數(shù)據(jù)越多,,熵越低。
除了用戶的使用習慣之外,,不同的測試軟件對數(shù)據(jù)熵的側(cè)重也不一樣,,典型例子就是IOMeter 2006和IOmeter 2008,前者是高熵值的,,后者是低熵值的,,因此同樣的SSD上,用IOmeter 2008測試會顯得性能更高一些,。
數(shù)據(jù)熵的影響
不同軟件的數(shù)據(jù)熵不同
一旦開始使用SSD,,性能急劇下降
前面已經(jīng)提到了SSD預調(diào)的重要性,因為SSD的性能與寫入歷史有莫大關系,。詳細來說,,F(xiàn)OB(Fresh Of Box,剛拆封的狀態(tài))狀態(tài)下的SSD性能最高,,然后隨著使用其性能快速下降,,這個階段叫做轉(zhuǎn)換階段(Transition State),繼續(xù)使用之后SSD的性能會固定下來,,這個階段叫做穩(wěn)定階段(Steady State),。
基準性能測試中達到穩(wěn)定狀態(tài)很重要,也是可能的,,只要對SSD全盤寫入幾次就可以了,。(大約兩三次即可)
這里的關鍵就是需要多少時間才能達到穩(wěn)定狀態(tài)。Smith展示了用IOMeter的4K隨機寫入在一塊256GB的SSD上做的測試,,大約需要 3個小時進入了穩(wěn)定狀態(tài),。測試顯示,此時的性能相比FOB狀態(tài)臺下大約下降了10%,,F(xiàn)OB時的速度是275MB/s,,穩(wěn)定狀態(tài)下下降到了25MB/s。 這就是沒有預調(diào)的后果,,性能相差10倍,。
三個小時候SSD差不多到了穩(wěn)定狀態(tài)
連續(xù)性能下降了25%,隨機性能減少了91%
目前的測試軟件的偏差
有了上面的基礎之后,,我們可以看下不同的測試軟件在穩(wěn)定狀態(tài)下的性能偏差吧。
測試環(huán)境
AS SSD的偏差,,連續(xù)寫入下降22-92%,,連續(xù)讀取下降0-69%,,隨機寫入下降81%
ATTO偏差,連續(xù)性能基本不受影響,,除了4K小數(shù)據(jù)
CDM偏差,,隨機寫入下降54%,連續(xù)讀取不變
Anvil軟件偏差,,隨機寫入下滑85%
PCmark Vantage的app載入性能下降74%
總結(jié):數(shù)據(jù)熵,、預調(diào)對SSD影響很大
從Smith的報告來看,數(shù)據(jù)熵,、預調(diào)對SSD的性能影響非常,,不同使用習慣、不同狀態(tài)的SSD性能差異極大,。
預調(diào)的正確方法