2019-07-22
【CrystalDiskMark 小知識】
你可能不知道的 SSD 跑分細節
文: Dang Wang / 部落格

大家最常看到的 SSD 跑分軟體 CrystalDiskMark ,選購 SSD 看八個框框,分數越高就越好但你知道這幾個框框分別代表什麼意思嗎?

 

CrystalDiskMark

▲ 在進入本文前,與兩個常見的效能指標

 

循序 (Sequential )讀/寫

 

舉例將數支 1GB 的影片寫入硬碟,作業系統操作流程為

 

1.從 SSD 的 Map Table 標記要使用的 blocks(磁區 1~10,000)。

2.抹除 ( Garbage Collection ,GC)一個空間。

3.將資料寫入到標示 blocks 中。

 

假設第一部影片磁區位置為 1~1,000、第二支則為 1,001~2,000 依此類推到到十支的 10,000 磁區位置。如果使用上常將數十 GB 檔案檔案複製來複製去,循序性讀/寫將會是一個重要的效能指標。

 

 

4kB 讀/寫

 

有遇過作業系統更新,明明就幾百 MB,更新卻要等個五到十分鐘,說穿了,更新是置換眾多的動態程式庫,檔案雖然不大但為數眾多,一次更新會置換上百甚至上千個檔案,如果 4kB 效能不佳,就看到 CPU、記憶體空載,電腦卻非常卡 IO 瓶頸。

 

4kB 讀/寫就是泛指零碎小檔操作效能,如遊戲、作業系統、各式程式,都由數以千計的動態程式庫組成,空有CPU、GPU效能卻沒有匹配的 IO 效能,就會出現過地圖跑條很慢、無接縫地圖遊戲會莫名卡頓等等現象。

 

回到CrystalDiskMark 八個框框,左上第一個框框 Seq Q32 T1,代表著循序讀/寫,那 Q32 跟 T1 代表什麼意思呢?

 

將一顆硬碟比喻成車站,佇列深度 Queue Depth(QD)為列車幾節車廂、執行緒為不同月臺 Thread

 

假設一個月臺最多可以容納 200 人同時上下車,而八節列車(QD8)可以載客 500 人

 

同一時間要下車就需要花 2.5(500/200 )個單位時間,才能上全部旅客下車,這就是 IO 延遲(Latency)

 

如果嫌上車時間太久,那就蓋兩個月臺(2 Thread),兩臺四節列車(QD4)下乘客

 

這樣就只要花 1.25(500/400)個單位時間就可以全部下完車嗎?

 

當然沒那麼簡單,一個月臺旅客僅需要知道往月臺走就可以搭到車

 

但月臺越多,乘客要去研究哪個月臺,付出的代價(CPU運算代價)會更多

 

想想是在臺北車站轉車會比較複雜,還是在東京車站轉車比較複雜,應該不難理解。

 

總結

 

●QD 越多,延遲(Latency)越高。 舉例:QD2 延遲一定比 QD1 高

●Thread 越多 CPU 效能越吃重,程式也更難開發維護。

●低 QD 可以達到更高的吞吐量(Throughput)為佳,例 QD1 = 100MB/s > QD1 = 50MB/s

 

 

CrystalDiskMark

 

附上 CrystalDiskMark 跑分

●4KiB QD1 Thread1 R 179.2(100%) / W 169.3 (100%)

●4KiB QD2 Thread1 R 411.3(229%) / W 359.9 (212%)

●4KiB QD1 Thread2 R 296.5(165%) / W 275.9 (162%)

從分數可以簡單看到,提高 QD 深度比多開 Thread 的效能成長幅度更高

 

分享到:
發表評論
华彩彩票骗局