MySQL Disk--SSD磁盘性能抖动问题
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磁盘性能抖动问题的更多相关文章
- 12 mysql性能抖动
12 mysql性能抖动 sql语句为什么变”慢”了 在介绍WAL机制时,innodb在处理更新语句的时候,只做了写日志这一个磁盘操作,就是redo log,在更新内存写完redo log之后,就返回 ...
- 运用ASMIOSTAT脚本监控asm disk磁盘性能
1,脚本作用: 类似于OS的iostat检查磁盘的I/O性能,ASMIOSTAT 脚本用来检查ASM磁盘的性能, 2,下载AMSIOSTAT脚本http://files.cnblogs.com/fil ...
- Windows性能计数器--磁盘性能分析Disk
Physical Disk: 单次IO大小 Avg.Disk Bytes/Read Avg.Disk Bytes/Write IO响应时间 Avg.Disk sec/Read Avg.Disk sec ...
- MySQL服务器SSD性能问题分析与测试
[问题] 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试. [工具] blktrace是linux下用来 ...
- MySQL中主键的选择与磁盘性能
偶然看到了“Fotolog: Scaling the World\'s Largest Photo Blogging Community”,才发现很多数据库的优化其实道理都很简单,至高境界是当你面对问 ...
- MySQL数据库在IO性能优化方面的设置选择(硬件)
提起MySQL数据库在硬件方面的优化无非是CPU.内存和IO.下面我们着重梳理一下关于磁盘I/O方面的优化. 1.磁盘冗余阵列RAID RAID(Redundant Array of Inexpens ...
- FAQ | 是什么导致MySQL数据库服务器磁盘I/O高(本文章来自知数堂)
FAQ | 是什么导致MySQL数据库服务器磁盘I/O高 2016-12-26 叶金荣 老叶茶馆 0.导读 有个MySQL服务器的磁盘I/O总有过高报警,怎么回事? 本文约1500字,阅读时间约10分 ...
- 理解及快速测定 Azure 虚拟机的磁盘性能
随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO ...
- 【虚拟机-磁盘管理】理解及快速测定 Azure 虚拟机的磁盘性能
随着越来越多的用户将生产系统迁移到 Azure 平台的虚拟机服务中,Azure 虚拟机的性能愈发被关注.传统的数据中心中,我们通常使用 CPU,内存,存储和网络的性能来衡量生产压力.特别是对于 IO ...
随机推荐
- 3.3 x86指令简介
计算机组成 3 指令系统体系结构 3.3 x86指令简介 x86指令种类繁多,数量庞大.在这一节我们将会学习x86指令的分类,并分析其中最为基础的一部分指令. 通常一个指令系统主要包括这几类指令.运算 ...
- linux系统方面的知识
1.什么是Linux? 组成部分:硬件.内核.lib库.应用程序 硬件:工作中真正工作的组成部分是硬件 linux内核(kernel):管理硬件 Linux团队管理的版本 lib库:封 ...
- Struts2 简介图
Struts2官方提供的,strus2的内部工作机制图解.
- Hackintosh Power Management
Also, be aware that hibernation (suspend to disk or S4 sleep) is not supported on hackintosh. You sh ...
- ubuntu 用户和root权限转换
1,用户权限要转换为root 输入:sudo su 或者sudo -i 然后按照提示输入相应的密码你就可以转化为root用户了. 2,root权限切换成用户权限 输入:su 如果是服务器那就输 ...
- The requested URL /phpmyadmin was not found on this server.
这个报错,我弄了好久,第一次我以为我安装有问题,我就卸载重新安装了,但是在结果还是报这样子的错. 查找phpmyadmin的安装位置输入: sudo dpkg -L phpmyadmin 可以看到很多 ...
- 关于一些逗逼函数//atoi,itoa,strtok,strupr,
reverse(begin,end) 反转容器内容可以是string,char数组,也可以是int型数组...用于反转其中的内容: char * strtok(cahr *,const char ...
- Leetcode 17
//狂练回溯,巧用备胎class Solution { public: vector<string> letterCombinations(string digits) { vector& ...
- git在eclipse中的配置 转载
git在eclipse中的配置 转载 一_安装EGIT插件 http://download.eclipse.org/egit/updates/ 或者使用Eclipse Marketplace,搜索EG ...
- MVC,重写AuthorizeAttribute实现自己的权限验证(一)
我们要实现下面的效果,某个controller,只允许某几个角色访问(admin,user,document controller) [MyAuthorize(Roles = "Admin, ...