WUH721816AL硬碟fio測試不達標問題

杨灏發表於2024-10-21

【問題描述】

  WUH721816AL(西數16T SATA盤)硬碟,在關閉寫快取的情況下,使用fio測試256K 1m順序寫時存在效能低的問題(實測資料約80mb/s在客戶標準測試滿足200MB/s透過)

原因分析

  機械盤對單個fio下發多job測試效能沒有offset_increment=int引數時不合理,因為單個fio下發多個job任務順序寫時,兩個任務都是從初始地址開始寫,這樣會出現覆蓋寫導致實際寫入速度降低;同時韌體也會根據快取裡的資料情況進行最佳化,比如放棄之前的寫入命令,直接執行最後一次,這樣可以提高效率,但大塊資料會導致快取裡的寫入命令比較少,就會可能發生重複寫入,降低了效率,從而出現當資料塊越大,效能出現跌落的情況,小資料塊也會收到影響,只是影響不大,並且這和各家的韌體演算法不同;(cache是disable的情況盤會轉讓PWC模式,會有2M大小的快取,保證突然斷電資料丟失)

  測試資料:

  a、不帶offset_increment=int引數測試

bs大小

西數16T順序寫效能MB/s

64k

255

128k

260

256k

92

512k

95

1024k

89

b、帶offset_increment=100GB引數測試

bs大小

西數16T順序寫效能MB/s

256k

204

512k

260

1024k

260

解決方案

  合理的使用單個fio測試多job的順序寫效能,要保證這些job不能同時寫入相同的地址,所以需要加上-offset_increment=100GB引數,使得每個job寫的地址不同,這樣實際的效能就是真實效能

相關文章