设为首页 收藏本站
查看: 809|回复: 0

[经验分享] SQL Server 在RAID 10 vs. RAID 5性能

[复制链接]

尚未签到

发表于 2015-7-4 14:29:39 | 显示全部楼层 |阅读模式
  RAID 10 vs. RAID 5 Performance 上给出了使用SQLIO.EXE 产生8KB 随机读和写的一个性能数据图,相差接近一倍的性能差距。
DSC0000.png
  磁盘访问时间=磁盘寻道时间+延迟
  延迟时间=1minute/RPM/2
  决定IOPS的主要因素在于阵列的算法、Cache命中率,以及磁盘个数。阵列的算法会由于阵列的不同而不同,例如在hds usp上面,可能因为ldev(lun)存在队列或者资源限制,而导致单个ldev的IOPS上不去。所以我们在进行存储I/O设计时,必须结合我们使用的存储产品去了解这个存储的一些算法规则与限制。
  在RAID5与RAID10上,读IOPS没有差别。但是,相同的业务写IOPS,最终落在磁盘上的IOPS却是有差别的,而我们评估的正是磁盘的IOPS,如果达到了磁盘的限制,性能肯定是上不去了。
  1. 安全性方面的比较
  其实在安全性方面,毋庸置疑,肯定是RAID10的安全性高于RAID5。我们可以通过简单的分析来得出此结论。当盘1损坏时,对于RAID10,只有当盘1对应的镜像盘也损坏,才会导致RAID失效。但是对于RAID5,剩下的3块盘中,任何一块盘出现故障,都将导致RAID失效。
  在恢复的时候,RAID10恢复的速度也快于RAID5。
  2. 空间利用率的比较
  RAID10的利用率是50%,RAID5的利用率是75%。硬盘数量越多,RAID5的空间利用率越高。
  3. 读写性能方面的比较
  主要分析如下三个操作:读、连续写、离散写。
  提示:
  存储的Cache我们已经在2.1.3中讲述,因为这三个操作跟Cache有很大的关系。
  1) 读操作方面的性能差异
  RAID10可供读取有效数据的磁盘个数为4,RAID5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上),所以两者在读方面的性能应该是基本一致的。
  2) 连续写方面的性能差异
  在连续写操作过程中,如果有写Cache存在,并且算法没有问题的话,RAID5比RAID10甚至会更好一些,虽然也许并没有太大的差别(这里要假定存储有一定大小,足够的写Cache,而且计算校验的CPU不会出现瓶颈)。
  因为这个时候的RAID校验是在Cache中完成,如4块盘的RAID5,可以先在内存中计算好校验,然后同时写入3个数据+1个校验。而RAID10只能同时写入2个数据+2个镜像。
  3) 离散写方面的性能差异
  例如SQL Server数据库每次写一个数据块的数据,如4KB或8KB,由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。但是因为不保证能够填满RAID5的一个条带,比如32KB(保证每张盘都能写入),所以很多时候更加偏向于离散写入(写入到已存在数据的条带中)。
  4) 磁盘的IOPS对比
  对空间利用率要求较高,而对安全性要求不是特别高的大文件存储的系统,采用RAID5比较好。相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID10的方式比较好。
  根据经验与分析:小I/O的数据库类型操作,如ERP等应用,建议采用RAID10;而大型文件存储、数据仓库,如医疗PACS系统、视频编辑系统,从空间利用的角度,建议采用RAID5。
  在一个实际的案例中,一个恢复压力很大的standby(这里主要是写,而且是小IO的写),采用了RAID5的方案,发现性能很差,通过分析,每个磁盘的IOPS在高峰时期,快达到200了,导致响应速度非常之慢。后来改造成RAID10,就避免了这个性能问题,每个磁盘的IOPS降到了100左右。所以,了解RAID5和RAID10原理,对我们根据应用系统的特点来做存储I/O设计,从而保证性能非常重要。
  相关文章:
  RAID在SQL Server中的应用(RAID几种级别)
  RAID 10 vs. RAID 5 Performance
  SQL Server之RAID简介
  SQL Server IO 子系统浅究 II
  SQLIO测试 SAN
  服务器IO测试利器--SQLIO
  Raid5 Raid10性能测试
  SQL Server Performace on Solid State Drives (SSD)

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-83112-1-1.html 上篇帖子: 如何查看SQL Server的实例名(转载) 下篇帖子: MS SQL Server 2008 简体中文正式版下载地址(附序列号)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表