浅谈RAID写惩罚(Write Penalty)与IOPS计算

介绍

?
?

???? 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RAID10是提供最好的性能和数据保护,不过成本最高等等。其实决定这些性能考虑的因素很简单,它就是RAID Write Penalty(写惩罚)。本文从原理上解释了不同RAID保护级别的写惩罚,以及通过写惩罚计算可用IOPS的方法。

更多信息

?
?

RAID-5?Write Penalty的例子:

?
?

???? 存储方案规划的过程中,最基本的考虑因素有两个,性能和容量。性能上的计算看可以分为IOPS和带宽需求。计算IOPS,抛开存储阵列的缓存和前端口不谈。计算后端物理磁盘的IOPS不能简单的把物理磁盘的最大IOPS相加而获得。原因是,对于不同的RAID级别,为了保证当有物理磁盘损坏的情况下可以恢复数据,数据写入的过程中都需要有一些特别的计算。比如对于RAID-5,条带上的任意磁盘上的数据改变,都会重新计算校验位。如下图所示,一个7+1的RAID-5的条带中,七个磁盘存储数据,最后一个磁盘存储校验位。

?
?

?
?

???? 对于一个数据的写入,我们假设在第五个磁盘上写入的数据为1111,如下图所示。那么整个RAID-5需要完成写入的过程分为以下几步:

?
?

?
?

  1. 读取原数据0110,然后与新的数据1111做XOR操作:?0110 XOR 1111 = 1001
  2. 读取原有的校验位0010
  3. 用第一步算出的数值与原校验位再做一次XOR操作:?0010 XOR 1001 = 1011
  4. 然后将1111新数据写入到数据磁盘,将第三步计算出来的新的校验位写入校验盘。

?

???? 由上述几个步骤可见,对于任何一次写入,在存储端,需要分别进行两次读+两次写,所以说RAID-5的Write Penalty的值是4。

?

?
?

不同RAID级别的Write Penalty:

?
?

下表列出了各种RAID级别的Write Penalty值:

?
?


RAID


Write Penalty


0


1


1


2


5


4


6


6


10


2

?
?

?

RAID-0直接的条带,数据每次写入对应物理磁盘上的一次写入

RAID-1和10:RAID-1?和RAID-10的写惩罚很简单理解,因为数据的镜像存在的,所以一次写入会有两次。

RAID-5RAID-5由于要计算校验位的机制存在,需要读数据、读校验位、写数据、写校验位四个步骤,所以RAID-5的写惩罚值是4。

RAID-6RAID-6由于有两个校验位的存在,与RAID-5相比,需要读取两次校验位和写入两次校验位,所以RAID-6的写惩罚值是6。

?
?

?
?

计算IOPS:

?
?

???? 根据上文的描述,在实际存储方案设计的过程中,计算实际可用IOPS的过程中必须纳入RAID的写惩罚计算。计算的公式如下:

?

物理磁盘总的IOPS =?物理磁盘的IOPS?× 磁盘数目

?
?

可用的IOPS =?(物理磁盘总的IOPS?× 写百分比 ÷?RAID写惩罚)?+?(物理磁盘总的IOPS?× 读百分比)

?

???? 假设组成RAID-5的物理磁盘总共可以提供500 IOPS,使用该存储的应用程序读写比例是50%/50%,那么对于前端主机而言,实际可用的IOPS是:

?

(500?×50%?÷?4)+ ( 500 * 50%) = 312.5 IOPS

?

具体不同应用程序的读写比例,可以参考:关于不同应用程序存储IO类型的描述

?

参考

?
?

关于不同应用程序存储IO类型的描述

时间: 2024-10-14 20:08:24

浅谈RAID写惩罚(Write Penalty)与IOPS计算的相关文章

浅谈RAID写惩罚(Write Penalty)与IOPS计算(转载)

介绍 通常在讨论不同RAID保护类型的性能的时候,结论都会是RAID-1提供比较好的读写性能,RAID-5读性能不错,但是写入性能就不如RAID-1,RAID-6保护级别更高,但写性能相对更加差,RAID10是提供最好的性能和数据保护,不过成本最高等等.其实决定这些性能考虑的因素很简单,它就是RAID Write Penalty(写惩罚).本文从原理上解释了不同RAID保护级别的写惩罚,以及通过写惩罚计算可用IOPS的方法. 更多信息 RAID-5 Write Penalty的例子: 存储方案规

浅谈raid各个级别的特性

首先笼统的说一下raid的概念 磁盘阵列:RAID(Redundant Array of Independent Disks)  raid阵列是由多个便宜的.性能较低的.速度较慢的.稳定性强的硬盘以逻辑的运算组合成一个整体的存储系统结构,从而可以达到更高性能的存储需求. raid级别大致分为:RAID0,RAID1,RAID3,RAID5,RAID10 常用的RAID有:RAID0,RAID1,RAID5,RAID10 下面将常用的几种RAID组合详细的说明一下: RAID0: 它的存储性能强,

浅谈RAID磁盘阵列配置与无人值守功能

一.RAID磁盘阵列介绍 RAID是英文Redundant Array of Independent Disks的缩写,中文简称为独立冗余磁盘阵列.RAID是把多块独立的物理硬盘按不同的方式组合起来形成一个硬盘组(逻辑硬盘),从而提供比单个硬盘更高的存储性能和提供数据备份技术组成磁盘阵列的不同方式称为RAID级别(RAID Levels),常用的RAID级别有以下几种: RAIDO,RAID1,RAID5,RAID6,RAID1+0等. 二.RAID 0磁盘阵列 RAID 0连续以位或字节为单位

浅谈如何写好SEO标题(一)

核心提示:学习SEO已近有一年的时间了,这是在不断学习和实践交替的过程中度过的,对于网站的优化也有了基本的概念,所以想通过文字的形式 学习SEO已近有一年的时间了,这是在不断学习和实践交替的过程中度过的,对于网站的优化也有了基本的概念,所以想通过文字的形式把笔者这一年的心得写出来,本文中所描述的均为笔者的实践所得,直接切入正文. 现在要讲的是SEO标题的写作.笔者将标题优化层面分为以下:网站首页.分类页面.内容页.标签页.软文页.下面将逐一为大家解析. 一.      网站首页 首页标题需包含最

浅谈如何写好SEO标题(三)

核心提示:1. 为你的文章取一个吸引人的标题.比如<十大SEO推广技巧>.<深度揭秘**的重大战略失误>.<未来SEO发展的十大趋势>.<掌 1.         为你的文章取一个吸引人的标题.比如<十大SEO推广技巧>.<深度揭秘**的重大战略失误>.<未来SEO发展的十大趋势>.<掌握这十种推广技巧令你的流量提高*倍>.以上只是举例说明,这个标题的的选取还是要根据关键词的研究,将关键词与吸引人的词句组合在一起,那

浅谈数据库系统中的cache(转)

http://www.cnblogs.com/benshan/archive/2013/05/26/3099719.html 浅谈数据库系统中的cache(转) Cache和Buffer是两个不同的概念,简单的说,Cache是加速"读",而buffer是缓冲"写",前者解决读的问题,保存从磁盘上读出 的数据,后者是解决写的问题,保存即将要写入到磁盘上的数据.在很多情况下,这两个名词并没有严格区分,常常把读写混合类型称为buffer cache,本文后续的论述中,统一

浅谈软件性能测试中关键指标的监控与分析

浅谈软件性能测试中关键指标的监控与分析 一.软件性能测试需要监控哪些关键指标? 软件性能测试的目的主要有以下三点: Ø  评价系统当前性能,判断系统是否满足预期的性能需求. Ø  寻找软件系统可能存在的性能问题,定位性能瓶颈并解决问题. Ø  判定软件系统的性能表现,预见系统负载压力承受力,在应用部署之前,评估系统性能. 而对于用户来说,则最关注的是当前系统: Ø  是否满足上线性能要求? Ø  系统极限承载如何? Ø  系统稳定性如何? 因此,针对以上性能测试的目的以及用户的关注点,要达到以上

浅谈存储重删压缩技术(一)

浅谈重删压缩技术(一) <喜欢更多内容可以关注微信公众号"围炉煮酒论IT"> 作为一个做企业存储市场的存储人,最近两年我不断被重删压缩撩拨着.对于重删压缩这个技术的好坏,真实需求还是伪需求大家看法不一.今天我就只能谈谈我个人的看法. 重删压缩是什么? 重删和压缩时完全不同的两种技术,解决不同的问题. 重删:就是说有很多分相同的数据,我只存储其中一份,其他的重复数据块我保留一个地址引用到这个唯一存储的块即可. 压缩:将一个大字符串中的子串用一个很简短的数字来标记,然后检索该字

.net中对象序列化技术浅谈

.net中对象序列化技术浅谈 2009-03-11 阅读2756评论2 序列化是将对象状态转换为可保持或传输的格式的过程.与序列化相对的是反序列化,它将流转换为对象.这两个过程结合起来,可以轻松地存储和传输数 据.例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象.反之,反序列化根据流重新构造对象.此外还可以将对象序列化后保存到本地,再次运行的时候可以从本地文件 中“恢复”对象到序列化之前的状态.在.net中有提供了几种序列化的方式:二进制序列化