我们来分析一下影响计算机性能的主要组件,主要就是CPU、主板的总线IO、内存IO、硬盘IO、网卡IO等等,并且如今CPU的性能已经非常好了,可是计算机的总体的IO性能却较低,严重影响了计算机的性能,如今的计算机的总线IO、内存IO的速度都能够达到5G/s以上。可是磁盘IO往往较低。

我们来分析一下常见的几种吧,对于SATA硬盘来说,速度小于150MB/s。对于SCSI硬盘来说。速度小于200MB/s,对于SAS硬盘来说,速度大约在200MB/s左右,而固态硬盘,也就是SSD,速度大约在500MB/s左右。我们平时自己使用的硬盘大多数是SATA接口的机械硬盘,而SATA3接口还是比較快的。能够达到6GB/s,而SCSI SAS一般用于server,通常转速非常快,能够达到每秒一两万转,所谓SAS就是串行SCSI。而SSD就是固态硬盘啦。

硬盘式绝大多数计算机的性能瓶颈,而IOPS也起到了非常大的作用,所谓IOPS。它是Input/Output  Operation Per Second的缩写,也就是每秒进行读写(IO)操作的次数,多用于数据库等场合,他是衡量随机訪问的性能的一个重要參数。并且我们发现现代磁盘的缺陷:IO性能弱,稳定性差。

所谓RAID。也就是Redundant   Array  of  Independent  Disks,也就是便宜磁盘冗余阵列,它通过多磁盘并行执行。来提供计算机的存储IO性能。RAID有非常多种类。称之为RAID的级别,现代RAID有7类。经常使用的则有4类。也就是RAID0、RAID1、RAID5、RAID6.对于冗余性。能够类比备份。多块磁盘组成了一个RAID,可是在OS看来仅仅有一块RAID硬盘,而RAID5同意并行中的多块硬盘,能够有一块出现问题,而不丢失数据。

对于RAID0。它最少须要两块硬盘,它将数据分别读写到多块硬盘。来提升读写性能,有几块硬盘。就能够吧数据分为几份来写,它的空间利用率是全部硬盘空间之和。它的性能也是全部硬盘速度之和,它没有冗余能力。它的长处就是能够并行的读和谐。并且空间利用率高,性能也最好。它的缺点就是一旦RAID中的某块硬盘出现问题,则数据将会全部丢失。

对于RAID1,它须要偶数块硬盘,在读数据时。同一时候从多块硬盘读取数据来提高读取性能。它与RAID0的读速度一样,在写数据时它须要将同一数据拷贝到多块磁盘,从而提供冗余性。

它应用于数据安全性以及完整性要求比較高的情景,并且读远多于写。

它的空间利用率就是组成RAID1中最小的那块磁盘,它的读性能为全部硬盘速度之和。可是写性能比读性能要差一些。

它的冗余能力就是。仅仅要有一块硬盘没有损坏。那么数据就是完整的。对于RAID1来说,它的读非常快,冗余性也非常高。可是缺点就是有几块硬盘就须要有几份同样的数据,写数据非常慢。

对于RAID5来说,它最少使用3块硬盘,在读数据时。同RAID0,分布式的往磁盘上写数据,在读数据时,对数据进行奇偶校验。将校验信息同一时候保存在磁盘上。而校验信息在数据恢复时使用。当中RAID0性能最高。而RAID1冗余性最高。可是使用场景都不多。而实际的生产环境中多使用RAID5和RAID6.它的空间利用率是1-1/硬盘数,它的读性能非常接近RAID0。写性能比RAID0弱,它的冗余能力就是假设有一块磁盘损坏,不会丢失数据。

对于RAID6来说,它最少使用4块硬盘,它和RAID5一样。仅仅是多一块硬盘保存校验信息的副本,读数据时,同RAID5,分布式的往磁盘上写数据,在写数据时。对数据进行奇偶校验,将校验信息同一时候保存在磁盘上,可是会再额外保存一份校验信息。它的空间利用率是1-2/硬盘数。它的读性能接近RAID5,可是写性能比RAID5弱,它的冗余能力就是假设有一块 硬盘损坏,不会丢失数据。

对于RAID的实现。能够分为软件实现 和硬件实现。

假设是软件实现,能够通过系统功能或者软件来实现。它没有独立的硬件和接口,它会占用一定的系统资源。比方cpu、内存、硬盘接口速度,受操作系统的稳定性影响。假设是硬件实现。能够通过购买独立的RAID硬件卡来实现RAID。有些主板集成了RAID硬件,硬件RAID不须要占用其它的硬件资源,并且稳定性和速度都比软件RAID要强。

辛星浅析raid的更多相关文章

  1. 辛星浅析跨域传输的CORS解决方式

    首先我们有一个概念.那就是"同源准则",也就是same-origin  policy,它要求一个站点(协议+主机+port号)来确定的脚本.XMLHttpRequest和Webso ...

  2. 辛星浅析Linux中的postfix

    Postfix是眼下Linux下主流的邮件server,也就是MTA,主要用来实现SMTP协议,它能够兼容sendmail.而postfix也是为了改进sendmail而制作产生的. 通常来说.pos ...

  3. 辛星浅析html5中的role属性

    我们使用role属性告诉辅助设备.这个元素所扮演的角色.比方点击的按钮,我们通常就使用role="button",会让这个元素可点击. 可是它很多其它的是用来增强语义性,当现有的h ...

  4. 辛星浅析一次ajax的实现过程

    说到ajax,那绝对是一个老生常谈的话题,近些年ajax技术的使用颇为盛行. 以下我们就以jQuery为例来从一个真实的项目中看一下ajax的实例. 首先是前端页面,这个页面我们使用的是bootstr ...

  5. 辛星浅析yaf框架中的类的自己主动载入问题

    因为公司非常多项目都是基于yaf的,而非常多刚接触yaf的朋友问的第一个问题就是:yaf的自己主动载入是依照什么规则来的. 鉴于此.于是我特别开了一篇博文来记录一下. 首先在yaf中.models文件 ...

  6. 2014年辛星完全解读Javascript第七节 数组和对象

    由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...

  7. 2014年辛星完全解读Javascript第八节 json

    json是JavaScript Object Notation的简写,它是一种轻量级的数据交换格式,而且表达上很容易靠字面去理解.json是用于存储和传输数据的格式,通常用于向服务器端传递数据. ** ...

  8. 2014年辛星完全解读Javascript第六节 对象

    随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...

  9. 2014年辛星完全解读Javascript第五节 break和continue与错误处理

    先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...

随机推荐

  1. 深入了解ASO

    ASO对于一些人来说可能很陌生,很多人都听说过SEO,没有听说过ASO(我也是最近才知道这个领域),因为这是一个数字营销的一个新领域.ASO(App Store Optimization)是为了让自己 ...

  2. C++ STL 的初步认知

    学无止境!!!    尊重他人劳动,尊重出处:http://www.cnblogs.com/shiyangxt/archive/2008/09/11/1289493.html 我已经做了4年的MFC ...

  3. thinkphp文件上传以及图片处理

    文件上传 上传表单 在ThinkPHP中使用上传功能无需进行特别处理.例如,下面是一个带有附件上传的表单提交: <form action="__URL__/upload" e ...

  4. java反射的基本使用

    反射机制是java中非常重要的功能,熟练使用反射功能对实际的开发有很大的帮助. 一,通过反射获取对象实例 使用的对象User package whroid.java.reflect; public c ...

  5. iOS学习笔记46-Swift(六)扩展

    一.Swift扩展 扩展就是向一个已有的类.结构体或枚举类型添加新功能,这包括在没有权限获取原始源代码的情况下扩展类型的能力.扩展和 Objective-C中的分类(category)类似,但是它要比 ...

  6. HDU——2087剪花布条

    剪花布条 Time Limit: 1000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Total Submi ...

  7. HDU——1003Max Sum(子序列最大和)

    Max Sum Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others) Total Su ...

  8. VCO的配置方法

    弄了个VCO的环境. 感觉有点儿麻烦,配乱七八糟的服务,弄完了SE也不试试,白弄了.最近又有人说这东西要试试. 我先简单记录下吧: 1. 在vCenter Server 下开启SSO,设置密码. 2. ...

  9. 关于postman使用上发现的一点问题

    之前后台用的java,一直用的postman测试接口数据,之前不管是get.post.delete.put请求都是在param传递的数据,java下面是没问题可以测试的.但是今天自己写Node发现po ...

  10. poj 2318 TOYS 点与矩形的关系

    题目链接 题意 有一个矩形盒子,\(n(n\leq 5e4)\)条线段将其分成了\(n+1\)个区域(每条线段的两个端点分别在矩形的上边和下边,且线段互不相交).现向盒子中扔\(m(m\leq 5e4 ...