使用FIO对SATASSD和PCIe Flash进行测试

Posted 天午绝人的博客

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用FIO对SATASSD和PCIe Flash进行测试相关的知识,希望对你有一定的参考价值。

首先声明,同事做的实验
使用fio对SATA、SSD、PCIE进行了测试
测试说明:
1、测试命名   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线程
2、PCIE裸设备测试,是执行写/dev/fda,其他未说明的,是写文件系统,比如/data/test,是SSD的目录下文件测试
3、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性能好的无解,而且现在成本也降得可以接受,是提高数据库性能的一个非常好的选择。

以上是关于使用FIO对SATASSD和PCIe Flash进行测试的主要内容,如果未能解决你的问题,请参考以下文章

fio工具中的iodepth参数与numjobs参数-对测试结果的影响

Cgroup blkio简介和测试(使用fio测试)

linux使用FIO测试磁盘的iops

linux使用FIO测试磁盘的iops

linux使用FIO测试磁盘的iops

linux使用FIO测试磁盘的iops