使用FIO對SATA、SSD和PCIe Flash進行測試

首先聲明,同事作的實驗
使用fio對SATA、SSD、PCIE進行了測試
測試說明:
一、測試命名   sync_write_4k_32
     sync表示測試方式,能夠是sync或者libaio,sync就是發起IO請求等待IO完成後,此thread繼續發起IO請求,實現併發採用fio發起多線程實現;libaio,異步IO,thread發起IO請求後,IO請求進行IO隊列,此模式爲了實現併發多測試,採用控制iodepth實現
    write:爲測試IO請求方法,包括write、read、rw、randwrite、randread、randrw,分別爲:順序寫、順序讀、順序讀寫、隨機寫、隨機讀、隨機讀寫,混合讀寫是,rw比率爲1.5
    4k:測試數據塊大小,測試了4k、8k、16k、32k、128k,16k爲數據庫數據塊大小,圖表採用16k
    32:併發數,32併發性能最高,圖表採用32線程
二、PCIE裸設備測試,是執行寫/dev/fda,其餘未說明的,是寫文件系統,好比/data/test,是SSD的目錄下文件測試
三、PCIE寫裸設備曾經致使PCIE異常(另郵件說明過)
測試結果:
 

順序讀寫帶寬MB/S
          順序讀寫IOPS        
testname SATA SSD PCIE PCIE裸設備   testname SATA SSD PCIE PCIE裸設備
sync_write_16k_32 485.755 473.061 613.859 1225.1   sync_write_16k_32 30359 29566 38366 78460
sync_read_16k_32 981.42 756.029 2244.2 1939.1   sync_read_16k_32 62810 47251 143624 124155
sync_rw_16k_32 708.361 690.881 875.036 1350.544   sync_rw_16k_32 44271 43179 54688 84408
                     
順序讀寫延遲us                    
testname SATA SSD PCIE PCIE裸設備            
sync_write_16k_32 1052.3 1080.39 832.16 298.58            
sync_read_16k_32 508.7 676.54 222.06 257.03            
sync_rw_16k_32 1078.82 739.205 583.695 377.965            

隨機讀寫帶寬MB/S           隨機讀寫IOPS        
testname SATA SSD PCIE PCIE裸設備   testname SATA SSD PCIE PCIE裸設備
sync_randwrite_16k_32 7.392 78.324 337.51 607.112   sync_randwrite_16k_32 462 4895 21094 37944
sync_randread_16k_32 20.004 761.049 2071.3 1957.9   sync_randread_16k_32 1250 47565 132558 125303
sync_randrw_16k_32 10.55 358.271 902.758 811.373   sync_randrw_16k_32 659 22391 56421 50710
                     
隨機讀寫延遲us                    
testname SATA SSD PCIE PCIE裸設備            
sync_randwrite_16k_32 36929.88 3748.15 818.35 841.71            
sync_randread_16k_32 25584.52 671.61 238.27 254.3            
sync_randrw_16k_32 96364.745 954.425 297.875 629.365            

結論:順序讀寫普通SATA盤和SSD差異不大,甚至SSD要低於SATA;隨機讀寫上SSD明顯高於SATA,尤爲是隨機讀,這也是通常數據庫系統的瓶頸所在;PCIe性能好的無解,並且如今成本也降得能夠接受,是提升數據庫性能的一個很是好的選擇。數據庫

相關文章
相關標籤/搜索