SSD性能

空盘性能:SSD出厂时磁盘没有任何数据情况下的性能
稳态性能:当SSD使用一段时间后,在垃圾回收(GC)机制全速运行时的性能。
通常情况下,空盘性能要远高于稳态性能,企业级SSD标称的性能指稳态性能。

SSD性能抖动

影响SSD性能和导致SSD性能抖动的因素:
1、比特错误(BitError)
2、读/写/擦除操作冲突
3、垃圾回收(GC)
4、读平衡(Read Disturb)

比特错误(BitError)

NAND Flash作为半导体介质,制造工艺/NAND类型/使用寿命/存放时间等因素都影响NAND比特出错率。
1、当Bit Error较小范围时,BCH或LDPC解码器能快速解码,将读请求控制100us左右
2、当Bit Error超出了快速解码的范围,则会导致解码器消耗更多时间进行解码,导致读延迟
3、当Bit Error过多导致解码器无法正确解码,则需要SSD使用Read Retry机制尝试通过调整NAND参考电压来重新读取数据,导致更大范围延迟
4、当Bit Error过多且Read Retry机制失败后,需要SSD内部的NAND级别RAID来进行数据恢复,产生更高延迟。 在SSD磁盘使用寿命不断耗尽过程中,NAND Flash的Bit Error错误会越来越高,因比特错误导致读延迟的概率和读延迟时间也会随之增高。

读写/擦除操作冲突

由于NAND Flash的擦除操作以区为单位,擦除操作耗时较高(2ms左右),当读写操作与擦除操作冲突时,会导致读写操作出现延迟。

垃圾回收(GC)

当SSD内部进行垃圾回收(GC)操作时,会消耗SSD磁盘资源,导致SSD性能下降

读平衡(Read Disturb)

当SSD某块区域被频繁读取,SSD内部Firmware会启用读平衡(Read Disturb)机制,将该区域数据迁移到寿命较高的区域,该操作同样会消耗SSD磁盘资源并导致SSD性能下降。

MySQL Disk--SSD磁盘性能抖动问题的更多相关文章

  1. 12 mysql性能抖动

    12 mysql性能抖动 sql语句为什么变”慢”了 在介绍WAL机制时,innodb在处理更新语句的时候,只做了写日志这一个磁盘操作,就是redo log,在更新内存写完redo log之后,就返回 ...

  2. 运用ASMIOSTAT脚本监控asm disk磁盘性能

    1,脚本作用: 类似于OS的iostat检查磁盘的I/O性能,ASMIOSTAT 脚本用来检查ASM磁盘的性能, 2,下载AMSIOSTAT脚本http://files.cnblogs.com/fil ...

  3. Windows性能计数器--磁盘性能分析Disk

    Physical Disk: 单次IO大小 Avg.Disk Bytes/Read Avg.Disk Bytes/Write IO响应时间 Avg.Disk sec/Read Avg.Disk sec ...

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

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

  5. MySQL中主键的选择与磁盘性能

    偶然看到了“Fotolog: Scaling the World\'s Largest Photo Blogging Community”,才发现很多数据库的优化其实道理都很简单,至高境界是当你面对问 ...

  6. MySQL数据库在IO性能优化方面的设置选择(硬件)

    提起MySQL数据库在硬件方面的优化无非是CPU.内存和IO.下面我们着重梳理一下关于磁盘I/O方面的优化. 1.磁盘冗余阵列RAID RAID(Redundant Array of Inexpens ...

  7. FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)

    FAQ | 是什么导致MySQL数据库服务器磁盘I/O高 2016-12-26 叶金荣 老叶茶馆 0.导读 有个MySQL服务器的磁盘I/O总有过高报警,怎么回事? 本文约1500字,阅读时间约10分 ...

  8. 理解及快速测定 Azure 虚拟机的磁盘性能

    随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO ...

  9. 【虚拟机-磁盘管理】理解及快速测定 Azure 虚拟机的磁盘性能

    随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO ...

随机推荐

  1. English trip V1 - 2.Don't Do That Teacher:Patrick Key: 祈使句(imperatives)

    什么是祈使句?    What's imperatives? 求或者希望别人做什么事或者不做什么事时用的句子:带有命令的语气 In this lesson you will learn how to ...

  2. English trip -- VC(情景课)1 D

    Read 阅读 Welcome! Meet our new student. His first name is Ernesto.  欧内斯托 His last name is Delgado. 德尔 ...

  3. 4-2 什么是WebSocket; Action Cable的使用。Rails guide-6.3视频教学,没有看!

    WebSocket WebSocket是一种在单个TCP连接上进行全双工通讯的协议.WebSocket通信协议于2011年被IETF定为标准RFC 6455,并由RFC7936补充规范.WebSock ...

  4. 莫比乌斯反演学习笔记(转载自An_Account大佬)

    转载自An_Account大佬 提示:别用莫比乌斯反演公式,会炸的 只需要记住: [gcd(i,j)=1]=∑d∣gcd(i,j)μ(d)[gcd(i,j)=1]=\sum_{d|gcd(i,j)}\ ...

  5. 双机热备(准)-->RAC(夭折)-->DG(异地容灾)

    以下有的地方为oracle专业术语,非懂勿喷.前段时间某项目负责人告知,他们应用需要一套oracle数据库环境运行模式为双机热备.简单了解下对于现在已经非常成熟的RAC再合适不过了.详细问了问当前服务 ...

  6. 巧妙利用SVN 实现复制需要部署的文件。

    http://blog.csdn.net/xiaoding133/article/details/39252357 http://blog.csdn.net/sinat_29173167/articl ...

  7. dubbo为consumer创建代理

    ReferenceConfig.init()方法中获取到了最终的代理对象,先观察一下代理对象的视图. 默认使用javassist生成动态类,可配置proxy为jdk,则使用jdk动态代理: <d ...

  8. WEBSERVICE-AXIS2服务端代码

    下载axis2的插件 axis2-eclipse-codegen-plugin-1.7.1.zip axis2-eclipse-service-plugin-1.7.1.zip 解压后,将plugin ...

  9. ios下 animation-play-state不起作用

    这个问题在 做H5音频播放的时候 困扰了好久,PC端一切正常,单单 移动端 出现各种杂乱的问题,也是醉了. 后来经过大量的检索,发现了一种方案很不错: 请看案例   原  创 完全兼容,各个设备,很不 ...

  10. weblogic控制台定制不同权限的用户

    安装weblogic并创建域(domain)的时候,会默认创建一个用户,此用户为管理员,也就是权限最大的.只有这样一个用户,用起来很不安全,因为一个测试环境,好多人在用,经常会有人修改上面的数据源等关 ...