首先声明,同事做的实验
使用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对SATA、SSD和PCIe Flash进行测试的更多相关文章

  1. SAS/SATA/SSD/IDE硬盘介绍区别

    SAS/SATA/SSD/IDE硬盘介绍区别 SAS(Serial Attached SCSI)即串行连接SCSI,是新一代的SCSI技术,和现在流行的Serial ATA(SATA)硬盘相同,都是采 ...

  2. 烽火SATA SSD DSS200-B

    烽火SATA SSD DSS200-B 运营商用户 > 产品与解决方案 > 产品 烽火SATA SSD DSS200-B 烽火通信 DSS200-B 2.5" SATA SSD ...

  3. MySQL服务器SSD性能问题分析与测试

    [问题] 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试. [工具] blktrace是linux下用来 ...

  4. SAS SATA SSD基本介绍

    SATA硬盘采用新的设计结构,数据传输快,节省空间,相对于IDE硬盘具有很多优势: 1 .SATA硬盘比IDE硬盘传输速度高.目前SATA可以提供150MB/s的高峰传输速率.今后将达到300 MB/ ...

  5. HDD ,SSD和PCIE SSD性能测试

      PCIE SSD   * MB/s = 1,000,000 bytes/s [SATA/600 = 600,000,000 bytes/s] * KB = 1000 bytes, KiB = 10 ...

  6. NVME SSD vs SATA SSD(转)

    NVMe是个啥?未来SSD主流标准早知 关注固态硬盘的朋友应该对于这个词汇并不陌生,特别是今年NVMe也频繁出现在各大媒体文章中,随着高端SSD市场逐渐从SATA专项PCI-E时,以前的AHCI标准已 ...

  7. 全面理解SSD和NAND Flash

    Flash Memory又叫做闪存,是一种非易失性存储器.非易失性是指断电之后数据不会丢失,这里就涉及到断电保护(后面详细讲解). 总体思路 1.NAND Flash的用途. 2.NAND Flash ...

  8. flash压力测试

    涉及目录: vendor/mediatek/proprietary/bootable/bootloader/preloader/platform/mt6735/src/drivers/inc/dram ...

  9. mysql 学习笔记5-- 数据库优化

    ext4:(rw,noatime,nodiratime,nobarrier,data=ordered)xfs: (rw,noatime,nodiratim,nobarrier,logbufs=8,lo ...

随机推荐

  1. linux 删除进程的多种方法

    kill pid kill -9 pid kill -15 pid pkill -f *.php kill -s 9 pid

  2. AT Tool --- android手机发送at指令

    之前网上也有一款类似的软件,估计是华为内部人员开发的,不过很变态,不但只支持华为的几款手机,而且只能发一条AT命令,然后就不让你发了:所以很气愤,今天花了一天时间自己写了这么款程序,而且是支持所有An ...

  3. Javascript模式(第二章基本技巧)------读书笔记

    本章主要帮助大家写出高质量的JS代码的方法,模式和习惯,例如:避免使用全局变量,使用单个的var变量声明,缓存for循环的长度变量length等 一.尽量避免使用全局变量 1 每一个js环境都有一个全 ...

  4. Ajax 提交session实效跳转到完整的登陆页面

    在spring security 中 Ajax提交时,session超时,局部加载登陆页面,为解决这个问题,重写ajax提交,返回的是modeview或者没有制定datatype时; 如果检测到加载到 ...

  5. IOS:Safari不兼容Javascript中的Date问题

    在IOS5以上版本(不包含IOS5)中的Safari浏览器能正确解释出Javascript中的 new Date('2013-10-21') 的日期对象. 但是在IOS5版本里面的Safari解释ne ...

  6. jq 获取元素的宽度时,如何取得小数部分

    <!DOCTYPE html> <html> <head> <title></title> <meta name="arti ...

  7. undefined reference to `_init'问题解决

    今天利用CDT 的eclipse调试程序,遇到下面的问题: d:/plugin/bin/../lib/gcc/arm-none-eabi/4.8.4/../../../../arm-none-eabi ...

  8. python 中__name__ = '__main__' 的作用

    有句话经典的概括了这段代码的意义: "Make a script both importable and executable" 意思就是说让你写的脚本模块既可以导入到别的模块中用 ...

  9. 使用log4net 日志输出到数据库MySQL

    使用Log4Net的输出日志到MySQL 使用步骤如下: 1. 添加引用Log4Net.dll, mysql.data.dll到工程中 note: mysql.data.dll 版本要高,最好到mys ...

  10. Mesos

    1. 软件定义数据中心 Mesos的二级调度机制: maseos协调每个节点的slave,获取每个节点的机器资源.获取资源后,在相应节点运行framework,在容器中执行任务.从而使得多种类型的服务 ...