厦门EQL培训学习之存储调优

来源:互联网 发布:淘宝手游充值代理加盟 编辑:程序博客网 时间:2024/05/10 01:30

1.RAID 5的写性能很差,写惩罚为4

2.一般推荐RAID 50,条件好或者对性能要求较高做RAID10

3.对于EQL 性能监测工具是SAN HQ

4.MPIO算法和写惩罚有关,对于产品选型来说,需要考虑

5.IOPS*IO大小=带宽(throughput)

6.对于存储调优,最直观的参数是延时、延时在4ms以内无影响。在20ms以上一般会有性能影响

 

 

 

小知识:

SAN和NAS存储一般都具备2个评价指标:IOPS和带宽(throughput),两个指标互相独立又相互关联。体现存储系统性能的最主要指标是IOPS。IOPS(I/Os per second):即每秒输入输出次数。指的是系统在单位时间内能处理的最大的I/O频度;一般,OLTP应用涉及更多的频繁读写,更多的考虑IOPS;    IOPS测试结果与很多测试参数和存储系统具体配置有关。IOPS还可以细分为100%顺序读(Sequential Read)IOPS、100%顺序写IOPS、100%随机读IOPS、100%随机写IOPS等,在同等情况下这四种IOPS中100%顺序读的IOPS最高。
以下摘自(王钰BLOG)
RAID 5只要修改数据其实只需要读写两块硬盘
现在的问题是如果要修改D1的数据岂不是要把D2,D3的数据都读一遍再去写P1了嘛?这样岂不是很没有效率?
关键在于P1还有一种方法来计算,新校验数据=(老数据 xor 新数据) xor 老校验数据;道理也非常简单,如果数据变化了,也把校验数据翻转一遍。这样只需要读取数据盘和校验盘两块硬盘即可。
比如D1的第一行的“1”变成0,P1为:1 xor 0 = 1;1 xor 0  = 1,其他数据以此类推。

RAID 5的写效率为何比较差?
写RAID 5要经过5个步骤,差不多就是“读”--“算”--“写”的过程。
  1. 读出老数据
  2. 读出校验数据
  3. 计算新校验数据
  4. 写新数据
  5. 写新校验数据
而普通硬盘的写操作当然就是有一个步骤:“写”

RAID 5可以实现并发写操作吗?
RAID5是可以实现并发操作的,因为一次IO写只需要两块硬盘的配合,比如在一个5块盘构成的RAID 5,在有些时候(看具体的数据分布)可以同时进行2个并发写操作;依此类推,10块盘构成的RAID5可以进行(10-1)mod 2=4个并发写操作。

RAID 5的“写惩罚”是什么回事?
    当RAID 5盘阵中有一块盘损坏,如果还要写数据,就要对所有的未损坏盘全部进行写操作。当然恢复一个损坏的磁盘,要把所有的数据全部读一边才能计算出损坏磁盘上的数据。例如,一个由5块磁盘构成的RAID 5,进行修复时需要把其他四块盘上的数据全部读一遍;由10块盘构成的RAID5,进行修复时需要把其他9块盘上的数据全部读一遍。
    在5块盘构成的RAID5中,差不多恢复一个146G的磁盘需要2个小时的时间。而在这两个小时过程中一定不能发生第二块盘损坏,否则就只能是“丢数据”了。

RAID 5的并发写和可靠性的矛盾?
上面说过,RAID5中盘越多,并发能力越强;但是盘越多,可靠性就越差;同时“写惩罚”就越严重


RAID 5的适用范围
  1. RAID 5 适用于“读”操作远远多于“写”操作的系统。比如:视频服务器,文件服务器。
  2. 盘阵的Cache能够解决问题。比如,花大价钱买的磁盘阵列柜(奇怪的是,为什么舍得花大价钱买柜子,不舍得花钱多买些硬盘来组成RAID10)
  3. 有人建议最好不要用RAID5(参见反RAID5联盟:BAARF
第一条容易理解,再此不在赘述。第二条的意思是:一次写的数据Cache完全能够装下,这样Cache到磁盘的过程就可以由盘阵来慢慢操作了。当然如果在进行数据库备份这样的操作,盘阵Cache一般就装不下了,这样写性能就会大幅度下降。另外如果存在大量小的的随机写,性能也会大幅度下降。

RAID 5不适用的范围
    数据库的存储。

原创粉丝点击