首先声明,同事做的实验
使用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. 子句jion

    using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.T ...

  2. JavaScript数据类型之隐式类型转换

    JavaScript的数据类型分为七种,分别为null,undefined,boolean,string,number,object,symbol ( ECMAScript 2015新增).objec ...

  3. ZIP4J---ZIP文件压缩与解压缩学习

    package com.wbh.common.utils; import java.io.File; import java.io.FileInputStream; import java.io.IO ...

  4. cWeb开发框架,基于asp.net的cWeb应用开发平台介绍(二)

    cWeb是基于微软的.Net Framework 4框架,数据库是sql server 2008 r2. cWeb开发框架下载,点击这里去下载. cWeb开发框架借鉴三层架构理论分为三层,分别是:cD ...

  5. 使用 Device Mapper来改变Docker容器的大小

    作者:Jérôme Petazzoni ( Docker 布道师) 译者:Mark Shao ( EMC 中国高级工程师) 如果在 CentOS . REHL . Fedor 或者其他默认没有 AUF ...

  6. 服务 在初始化安装时发生异常:System.IO.FileNotFoundException: "file:///D:\testService"未能加载文件或程序集。系统找不到指定文件。

    @echo.@if exist "%windir%\Microsoft.NET\Framework\v4.0.30319\InstallUtil.exe" goto INSTALL ...

  7. phpmyadmin修改root密码

    很多人利用phpmyadmin或者命令行来修改了mysql的root密码,重启 后发现mysql登录错误,这是为什么呢?修改mysql的root的密码要在mysql软件中mysql数据库里修改root ...

  8. Python多线程、进程入门1

    进程是资源的一个集合, 1.一个应用程序,可以有多进程和多线程 2.默认一个程序是单进程单线程 IO操作使用多线程提高并发 计算操作使用多进程提高并发 进程与线程区别 1.线程共享内存空间,进程的内存 ...

  9. Lua学习----Lua基础数据类型

    前言 Lua有6中数据类型,分别是nil(空).boolean(布尔).number(数字).string(字符).table(表).function(函数) 在Lua中可以使用type函数来返回一个 ...

  10. 使用nvm安装node

    安装nvm curl -o- https://raw.githubusercontent.com/creationix/nvm/v0.32.1/install.sh | bash 安装node nvm ...