MySQL Disk--SSD与RAID
===================================================
SSD与RAID 5
1、在RAID 5这类Parity-RAID上存在partial-stripe写问题,当发生partial-stripe写时,首先需要将条带中没有被更新的数据读取出来,然后与新写入的数据进行合并,在计算校验值,将新更新的数据和校验值一起写入到磁盘,整个Partial-stripe写过程即“读--修改--写", Partial-strip写会严重影响性能,增加IO延迟。由于SSD采用out-of-place的数据更新方式,频繁地Partial-stripe写会导致SSD写放大系数增大,影响SSD的使用寿命。
2、当RAID5中出现故障盘时,需要对更换的磁盘从头到尾巴做全部数据重构,SSD采用FTL(Flash Translation Layer)进行Page/Block隐射,如果新盘的可用page页耗尽,会触发SSD启用垃圾回收(GC)机制,影响SSD磁盘性能。
3、相同类型的SSD盘的使用寿命基本相同,Parity-RAID将条带中的数据均匀分布到所有磁盘上,使得所有磁盘的IO均等,导致SSD磁盘同时发生故障的概率身高。
由于RAID 5配置会严重SSD磁盘性能和使用寿命,因此不建议基于SSD磁盘配置RAID 5这类Parity-RAID。
===================================================
SSD 与 RAID 0
使用两块SSD磁盘做RAID0与单块SSD磁盘做对比,结果如下:
1、对于顺序写和顺序读,RAIDO的IOPS性能和IO吞吐能力是单块SSD的两倍。
2、对于随机写和随机读:
A)当队列深度为1时,RAIDO的IOPS性能与单块SSD的IOPS性能基本持平。
B)当队列深度为64时,RAIDO的IOPS性能和IO吞吐能力是单块SSD的两倍。
3、IO延迟问题
A)对于读操作,RAID0的IO延迟略高于单块SSD。
B)对于写操作,RAID0的IO延迟远高于单块SSD。
C)增加磁盘队列深度并不会降低RAID0的IO延迟问题。
参考:
http://blog.51cto.com/alanwu/1430288
MySQL Disk--SSD与RAID的更多相关文章
- PatentTips - Solid State Disk (SSD) Device
BACKGROUND OF THE INVENTION A SSD apparatus is a large-capacity data storage device using a nonvolat ...
- MySQL服务器SSD性能问题分析与测试
[问题] 我们有台HP的服务器,SSD在写IOPS约5000时,%util达到80%以上,那么这块SSD的性能究竟有没有问题,为解决这个问题做了下面测试. [工具] blktrace是linux下用来 ...
- SystemTapでMySQL 5.5のDisk I/Oを分析する
http://d.hatena.ne.jp/sh2/20111121 2010年1月の記事SystemTapでMySQLのDisk I/Oを分析するの続きです.以前作成したSystemTapスクリプト ...
- SSD阵列卡方案优化:考虑使用RAID 50替代RAID 10
最近一直在研究RAID 50,因为牺牲一半的容量的RAID 10代价实在太大了,而且它提供的可用性也并不是百分百的,我们首先来看下RAID 10的可用性分析: 以同等容量的不同RAID方式作为案例分析 ...
- Percona 开始尝试基于Ceph做上层感知的分布式 MySQL 集群,使用 Ceph 提供的快照,备份和 HA 功能来解决分布式数据库的底层存储问题
本文由 Ceph 中国社区 -QiYu 翻译 英文出处:Using Ceph with MySQL 欢迎加入CCTG Over the last year, the Ceph world drew m ...
- 14.2.1 MySQL and the ACID Model
14.2 InnoDB Concepts and Architecture InnoDB 概念和结构体系: 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB ...
- mysql主从延迟
1. MySQL数据库主从同步延迟原理.要说延时原理,得从mysql的数据库主从复制原理说起,mysql的主从复制都是单线程的操作,主 库对所有DDL和DML产生binlog,binlog是顺序写,所 ...
- MySQL 5.6 Reference Manual-14.2 InnoDB Concepts and Architecture
14.2 InnoDB Concepts and Architecture 14.2.1 MySQL and the ACID Model 14.2.2 InnoDB Multi-Versioning ...
- MySQL 数据库架构
1 架构 master-slave性能,qps,tps,cpu,disk,memory,network,raid卡,fashion卡, 并发量:同一时刻需要db处理 连接量: 大表:1000w行或者表 ...
随机推荐
- hdu多校2C
题意:找多条路径覆盖所有的边,求最小路径数,要求输出路径 题解:新建一个点n+1,所有奇点向它连边,然后跑欧拉回路,最后把新加的边删去,一段连续的边就是一条路径 = =但是由于太久没写欧拉回路以及之前 ...
- ajax post data 获取不到数据,注意contentType
$.ajax({ url:'/web/register/', type:"POST", data:{'user':'66'}, dataType:'json', 这个东西困惑我一天 ...
- Servlet 与 CGI 的比较
和CGI程序一样,Servlet可以响应用户的指令(提交一个FORM等等),也可以象CGI程序一样,收集用户表单的信息并给予动态反馈(简单的注册信息录入和检查错误).然而,Servlet的机制并不仅仅 ...
- 使用dbms_output.put_line打印异常所在的行
dbms_output.put_line(dbms_utility.format_error_stack); dbms_output.put_line(dbms_utility.format_call ...
- textAlign
<!DOCTYPE html><html xmlns="http://www.w3.org/1999/xhtml"><head> < ...
- sonarqube 代码检查
再好的程序员也会出bug,所以代码检查很有必要.今天就出一个简单的检查工具代替人工检查. 参考: http://www.cnblogs.com/qiaoyeye/p/5249786.html 环境及版 ...
- Arrays类的分析及使用
1. Arrays类介绍 Arrays类是Java API中提供的类,在java.util包中,此类包含用来操作数组的各种方法,比如排序和搜索,在这个类中如果指定数组引用为null,则此类方法都会抛 ...
- WebGL编程指南案例解析之平移和旋转的math库实现
这里说的math库实现,指的是,通过一般的加减乘除(角度计算)来更新坐标值. 因为涉及到坐标的变化,所以这里都是基于对顶点着色器的修改 平移: var vShader = ` attribute ve ...
- 读博 在没有导师PUSH的情况下该何去何从?
读博已有两月之久,与导师也是仅有的一面之缘,短短数分钟谈话大致总结便是看看基础知识,再然后就没有什么了,突然之间有些小懵逼.突然间感慨这就是我的博士生涯的生活,这就没有啦,以后就这么过啦?在读博士之前 ...
- UNIMRCP 代码走读
基于UNIMRCP1.5.0的代码走读 与 填坑记录 1. server启动配置加载 入口:unimrcp_server.c static apt_bool_t unimrcp_server_load ...