辛星浅析raid
我们来分析一下影响计算机性能的主要组件,主要就是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的更多相关文章
- 辛星浅析跨域传输的CORS解决方式
首先我们有一个概念.那就是"同源准则",也就是same-origin policy,它要求一个站点(协议+主机+port号)来确定的脚本.XMLHttpRequest和Webso ...
- 辛星浅析Linux中的postfix
Postfix是眼下Linux下主流的邮件server,也就是MTA,主要用来实现SMTP协议,它能够兼容sendmail.而postfix也是为了改进sendmail而制作产生的. 通常来说.pos ...
- 辛星浅析html5中的role属性
我们使用role属性告诉辅助设备.这个元素所扮演的角色.比方点击的按钮,我们通常就使用role="button",会让这个元素可点击. 可是它很多其它的是用来增强语义性,当现有的h ...
- 辛星浅析一次ajax的实现过程
说到ajax,那绝对是一个老生常谈的话题,近些年ajax技术的使用颇为盛行. 以下我们就以jQuery为例来从一个真实的项目中看一下ajax的实例. 首先是前端页面,这个页面我们使用的是bootstr ...
- 辛星浅析yaf框架中的类的自己主动载入问题
因为公司非常多项目都是基于yaf的,而非常多刚接触yaf的朋友问的第一个问题就是:yaf的自己主动载入是依照什么规则来的. 鉴于此.于是我特别开了一篇博文来记录一下. 首先在yaf中.models文件 ...
- 2014年辛星完全解读Javascript第七节 数组和对象
由于Javascript是脚本语言,因此,使用起来非常方便,数组的使用也是比较简单的,下面我们就主要介绍一下Javascript中数组的介绍,以及上一节中没有完成的对象的介绍. *********** ...
- 2014年辛星完全解读Javascript第八节 json
json是JavaScript Object Notation的简写,它是一种轻量级的数据交换格式,而且表达上很容易靠字面去理解.json是用于存储和传输数据的格式,通常用于向服务器端传递数据. ** ...
- 2014年辛星完全解读Javascript第六节 对象
随着面向对象的普及,现在很多语言都在支持面向对象,Javascript也不例外,所谓对象,就是拥有属性和方法的数据.这里的属性其实就是变量,这里的方法,其实就是函数.但是Javascript的面向对象 ...
- 2014年辛星完全解读Javascript第五节 break和continue与错误处理
先说一下break和continue的主要用法吧,break用于跳出循环,continue用于跳过该循环中的一个迭代.简单的说,就是break直接从该语句跳出,但是continue不会跳出该循环语句, ...
随机推荐
- Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies
Could not load file or assembly 'AjaxControlToolkit' or one of its dependencies. API 调用退出异常. (Except ...
- 80x86保护模式下IDT和中断调用过程分析
80x86保护模式下IDT和中断调用过程分析 1.中断描述符表(IDT),将每个异常或中断向量分别与它们的处理过程联系起来.与GDT和LDT类似,IDT也是由8字节长度的描述符组成.IDT空描述符的存 ...
- Leetcode 482.密钥格式化
密钥格式化 给定一个密钥字符串S,只包含字母,数字以及 '-'(破折号).N 个 '-' 将字符串分成了 N+1 组.给定一个数字 K,重新格式化字符串,除了第一个分组以外,每个分组要包含 K 个字符 ...
- 【Luogu】P1472奶牛家谱(DP)
题目链接 这是一道考思维的好题. 一开始设f[i][j]是i个点刚好j层的方案数,死活调不出来,看题解发现可以改为<=j层的方案数,最后输出f[n][m]-f[n][m-1]就好了. 对于计算考 ...
- BZOJ-2049 [SDOI2008]洞穴勘测
LCT模版题.... #include <cstdlib> #include <cstdio> #include <cstring> #include <al ...
- 如何查找Windows上安装的DB2的端口号Port
1.db2com打开控制台 2.db2 get dbm cfg 可以通过db2 get dbm cfg,查询数据库管理器配置参数,就可以查到端口号或端口名. 示例: $ db2 get dbm cfg ...
- 开源编辑器ueditor
http://ueditor.baidu.com/website/onlinedemo.html
- hdu 2999 sg函数(简单博弈)
Stone Game, Why are you always there? Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 32768/ ...
- hdu 3613 KMP算法扩展
Best Reward Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/65536 K (Java/Others)Total ...
- C#连接数据库SQL(2005)
原文发布时间为:2008-07-24 -- 来源于本人的百度文章 [由搬家工具导入] 总算把这起步的路走了.首先来总结一下进行数据库编程的全过程,这里用的是SQL SERVER(1)建立SqlConn ...