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行或者表 ...
随机推荐
- LeetCode--021--合并两个有序链表
问题描述: 将两个有序链表合并为一个新的有序链表并返回.新链表是通过拼接给定的两个链表的所有节点组成的. 示例: 输入:1->2->4, 1->3->4 输出:1->1- ...
- codeforces 555c// Case of Chocolate// Codeforces Round #310(Div. 1)
题意:直角边为n的网格巧克力,一格为一块,选择斜边上一点,从左或上吃,直到吃到空气,称为一次操作.给出几个操作,问各能吃几块.如果x是当前要吃的横坐标,在已经吃过的中找x1>=x的第一个x1,即 ...
- php--------ThinkPHP3.2验证码使用
Thinkphp框架验证码的路径目录:ThinkPHP -> Library -> Think -> Verify.class.php ,只要在控制器中实例化这个类就能实现验证码的功 ...
- Mac搭建个人服务器开发微信公众号
个人电脑搭建小型服务器面临的一个重要问题就是网络问题,我把解决的过程简单记录一下,准备以后参考. 1. 内网穿透 由于个人所在网络是一个局域网,没有公网的IP,因此在公网是不能直接访问个人电脑的服务器 ...
- 使用poi导出Excel,并设定单元格内容类型,抛出异常
本例子使用的是HSSF,为Excel2003提供处理方案. 设定为输入类型为数值 import org.apache.poi.hssf.usermodel.DVConstraint; import o ...
- iOS UI-AlertView(警示框)和ActionSheet(选择框、操作表单)
#import "ViewController.h" @interface ViewController ()<UIAlertViewDelegate,UIActionShe ...
- 快速切题 cf118A
这教导人们一定要看题,要看题,元音包含了‘y’,完毕,要看题啊 #include <cstring> #include <cstdio> #include <cctype ...
- Cetus
转自:https://github.com/Lede-Inc/cetus Cetus 简介 Cetus是由C语言开发的关系型数据库MySQL的中间件,主要提供了一个全面的数据库访问代理功能.Cetus ...
- selenium(五)伪造浏览器
简介: 这个就比较好玩了,大家还记得以前的QQ小尾巴么?还有百度贴吧的小尾巴,就是那个来自***的iphone7,这个功能. 这个功能是基于浏览器的user-agent功能实现的. 还是httpbin ...
- Java虚拟机运行时数据区
运行时数据区程序计数器Java虚拟机栈本地方法栈Java堆(GC堆)方法区运行时常量池 运行时数据区 Java虚拟机在运行Java程序时,会将它所管理的内存划分为若干个内存区域.这些数据区域有各自的用 ...