版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、存储设计和性能调优对于任何程序的运行来说,最慢、最花费时间的操作实际上是从磁盘中检索数据。这主要缘于磁盘访问中存在的物理机械过程磁头旋转和寻道)尽管磁盘存储技术在最近几年取得了极大的进步,但磁盘的旋转速度却没有太大的提高。您必须清楚这样一个事实:在一定条件下,访问仅需要大概个时钟周期,而磁盘访问则需要花费大概个时钟周期。很明显,系统中访问数据最薄弱的环节就是磁盘存储系统,从性能调整的角度来说,就是确保磁盘数据布局不会成为更严重的瓶颈。糟糕的数据布局将会给性能带来更大的影响。在对系统进行任何优化活动之前,首先应该了解您的存储系统的物理体系结构,因为如果您所设计的存储系统非常糟糕,并且其中包含慢速
2、磁盘,或者适配器的使用非常低效,那么其他的任何优化工作都无法提供帮助。数据库的作用就是实现对数据的管理和查询。任何一个数据库系统,必然存在对数据的大量读、写操作。所以问题也往往是导致数据库性能问题的重要原因。要控制好数据库的整体性能,在规划数据库架构时就需要做好存储系统的设计和配置。例如,将对要求不同的文件放置在不同的存储设备上;规划表空间容器的分布、均衡负担、使用并行访问等。在一个应用系统的逻辑部署和物理部署图中,存储和操作系统位于应用系统体系结构的最底层。而数据库是部署在操作系统和存储层之上的,所以我们在做数据库的物理设计和逻辑设计之前,必须先做好存储设计。存储设计中最大的一个原则就是将访
3、问的分布最大限度地平衡在所有可以利用的物理设备上。本章主要内容包括:存储基本概念存储架构存储相关性能调整案例存储设计性能相关问题存储设计总结存储基本概念关于存储的概念太多,许多已经超出了本书的讨论范围。本章主要讲解最常见的几个概念,它们是我们进行存储设计所必须掌握的。硬盘硬盘处于整个存储系统的最底层,核心的业务数据通常都存放在硬盘上。我们从硬盘上读取一次I/O要花费的时间如下:硬盘上一次I/O时间=磁盘寻道时间+磁头旋转到特定扇区时间+传输时间+延迟图2-1所示的硬盘I/O传输图中标识了磁头在不同位置的寻道时间。衡量一个磁盘的I/O能力有如下几个指标:Averageseek:lhemeanli
4、meheadmoveacrosscylindersMinimumseek:headmoveMaximums-ek:headmoveManmunnfromVcylindertolastcylinderW;jj(jrrii!rrmfwkonecyhnder盘庭轧T-圈朋需農肛蜡的时何)AverageLaiency:tfmetakeslorplattertospinhaEfround图2-1磁盘I/O传输图硬盘的转速:也就是硬盘电机主轴的转速,转速是决定硬盘内部传输率的关键因素之一,它的快慢在很大程度上影响了硬盘的速度。同时,转速的快慢也是区分硬盘档次的重要标志之一。硬盘的主轴马达带动盘片高速旋转,
5、产生浮力使磁头飘浮在盘片上方。要将所要存取资料的扇区带到磁头下方,转速越快,等待时间也就越短。因此,转速在很大程度上决定了硬盘的速度。目前市场上常见的硬盘转速一般有、和。理论上,转速越快越好,因为较高的转速可缩短硬盘的平均寻道时间和实际读写时间。但是转速越快发热量越大,不利于散热。现在的主流硬盘转速一般为以上。平均寻道时间:指硬盘在盘面上移动读写头至指定磁道寻找相应目标数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒。当单碟片容量增大时,磁头的寻道动作和移动距离减少,从而使平均寻道时间减少,加快硬盘速度。平均延迟时间:指当磁头移动到数据所在的磁道后,然后等待所要的数据块继续转动到磁头下所用
6、的时间。平均访问时间:指磁头找到指定数据的平均时间,通常是平均寻道时间和平均延迟时间之和。平均访问时间最能够代表硬盘找到某一数据所用的时间,越短的平均访问时间越好。为什么要讲硬盘呢?因为数据库在工作时,一条语句在经过优化器编译时,优化器会读取统计信息、数据库配置参数和相关硬件信息来为该条语句生成最优的执行计划。其中的硬件信息包括表空间的和。这两个参数的计算就是由硬盘的相关属性来决定的。它们计算公式如下:传送速率假设用页大小平均寻道时间磁盘转速而平均寻道时间、磁盘旋转速度和传送速率是由硬盘本身决定的。所以我们必须做合理的存储设计以使优化器更好地工作。磁盘阵列技术的全称是独立磁盘冗余阵列。它通过将
7、多个相对比较便宜的磁盘组合起来,并相互连接,同时都连到一个或多个计算机上,以组成一个磁盘组,从而使其性能和容量达到或超过一个价格更昂贵的大型磁盘。年来,推出了一系列级别,包括以及各种组合如等,其中应用最广泛的是和。能提供更好的性能,能提供最佳的数据保护。如果把两者结合在一起,就能同时提供高性能和数据保护,但这也会同时提高磁盘阵列造价。不做全磁盘镜像,但它会对每一个写操作做奇偶校验计算并写入奇偶校验数据。奇偶校验磁盘避免了像那样完全重复写数据。当一个磁盘失效,校验数据被用来重建数据,从而保证系统不会崩溃。为避免磁盘瓶颈,奇偶校验和数据都会被分布到阵列中的各个磁盘。尽管读的效率提高了,但是需要为每
8、个写操作做奇偶校验,因此它的写的效率很差。存储的高端存储系统中除了要有高性能、高扩展性的结构外,的设计将直接影响到存储系统的性能表现和可靠性。的主要作用是什么呢?作为缓存,的作用具体体现在读与写两个不同的方面:作为写,一般存储阵列只要求数据写到就算完成了写操作,当写的数据积累到一定程度,阵列才把数据刷到磁盘,这样可以实现批量的写入。所以,阵列的写是非常快速的。至于数据的保护,一般都依赖于镜像与电池或者是。在读数据方面的作用同样不可忽视,因为如果所要读取的数据能在中命中的话,将大大减少磁盘寻道所需要的时间。因为磁盘从开始寻道到找到数据,一般都在以上,而这个时间,对于那些密集型的应用可能不是太理想
9、。但是,如果能在保存的数据中命中,一般响应时间则可以缩短在以内。存储的大小对整个性能的影响是非常大的,即,也就是每秒进行读写操作的次数,它是衡量存储性能的一个重要指标。网络存储技术e存储区域网是一个高速的子网,这个子网中的设备可以从您的主网卸载流量。通常,由阵列连接光纤通道组成,同服务器和客户机的数据通信是通过命令而非来实现的,数据处理是块级。通过特定的互联方式连接若干台存储服务器而组成一个单独的数据网络,提供企业级的数据存储服务,如图所示。是一种特殊的高速网络,连接网络服务器和诸如大磁盘阵列或备份磁带库的存储设备,置于之下,而不涉及A利用,不仅可以提供大容量的存储数据,而且地域上可以分散,缓
10、解了大量数据传输对局域网的影响。的结构允许任何服务器连接到任何存储阵列,不管数据存放在哪里,服务器都可直接存取所需的数据。图2-2SAN存储示意图是网络附加存储的简称。在存储结构中,存储系统不再通过总线附属于某个服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。它是连接到一个计算机网络的文件层的数据存储,可以为不同网络的客户端提供数据存储服务。的硬件与传统的专用文件服务器相似,它们的不同点在于软件端。中的操作系统和其他软件只提供数据存储、数据访问功能,以及对这些功能的管理。与传统以服务器为中心的存储系统相比,数据不再通过服务器内存转发,而是直接在客户机和存储设备间传送,服
11、务器仅起控制管理的作用。存储架构存储处理过程了解一个典型的个典型的流动图,流动图对于我们定位如图性能瓶颈是非常重要的。下面我们来看所示。Application图2-3个典型的I/O流动图CereiractCTSIheI/Ostartsandendshere提示:可以智能化地自动实现负载平衡和流量控制。在处理过程中,要保证卡的网络带宽、光交换机端口带宽、存储的前端端口、后端端口的速度匹配。不要因为某个瓶颈而导致木桶效应。应用系统流动图我们举一个某移动公司营账系统的例子,该系统比较复杂,那么我们来看看该系统的一个整体流动图,如图所示。(点击查看大图)图2-4I/O流动图图展示了该移动公司营账应用系
12、统的数据处理层次图。在这个数据处理层次中,我们可以首先简单地将其划分为三个较大的层次:用户层、应用层、数据层。用户层:用户负责发出对数据的请求;应用层:提供各种满足要求的应用,对用户的请求向数据层传递,同样负责将数据层获得的数据处理后发送给用户;数据层:负责数据的管理,以及最终的数据/对于性能的问题,应用层和数据层都需要引起我们的关注,这两者都会对整个系统的性能产生较大的影响。假设最终用户在前台发出了一个查询交易,该交易其实就是一条语句,那么该请求通过发送到服务器,接收到该请求后再把该请求转发给,在这个阶段我们要确保方面不存在瓶颈,否则它无法及时地把最终用户请求转发,会引起交易请求阻塞;接收到
13、请求后,通过应用程序业务逻辑去数据库中检索记录,在该阶段,我们要确保不存在瓶颈,不会阻塞到数据库的请求,否则我们要进行调优;当这个请求到达后,数据库优化器会为该语句适于语法检查、语义分析、权限检查、查询重写等,之后会制订一个最优的访问计划,在该计划中决定用什么索引、用什么扫描方式、访问表的顺序和连接方式等。假设优化器为这条语句确定的是全表扫描方式,那么它首先判断数据库中是否有它请求的数据,如果有,就直接从内存读取,这叫逻辑读;否则就要从硬盘读,那么要首先判断该表在哪个表空间中,如果该表空间采用的是裸设备,那么它会去读逻辑卷,逻辑卷是在逻辑卷管理器之上的,而又在操作系统之上;在操作系统和存储之间
14、往往还会有一个存储的多路径通道软件例如上的、的、日立的等可以实现动态负载均衡和流量控制;在多路径通道软件之下是存储供应商的设备驱动;主机服务器通过卡和光纤交换机连接,光纤交换机和存储的前端连接,存储的前端再通过存储的连接后端的物理磁盘。这就是一个磁盘的处理过程。在上面的流动中,每个环节都有可能出现性能问题,所以大家要能够理解这个过程,在出现性能问题时,能快速地找出是哪个环节引起了性能瓶颈。磁盘访问时间磁盘寻道时间延迟延迟时间决定的主要因素在于阵列的算法、命中率,以及磁盘个数。阵列的算法会由于阵列的不同而不同,例如在上面,可能因为存在队列或者资源限制,而导致单个的上不去。所以我们在进行存储设计时
15、,必须结合我们使用的存储产品去了解这个存储的一些算法规则与限制。的命中率取决于数据的分布、的大小、数据访问的规则,以及的算法,如果完整的讨论下来,这里将变得很复杂,超出了本书的讨论范围。我这里只强调一个的命中率,对于一个阵列,读的命中率越高越好,这一般表示它可以支持更多的,为什么这么说呢?这就与我们下面要讨论的硬盘有关系了。硬盘的限制,每个物理硬盘能处理的是有限制的,如10Krpm15KrpmATA10M/s13M/s8M/s10Krpm15KrpmATA100IOPS150IOPS50IOPS同样,如果一个阵列有块的光纤硬盘,那么,它能撑的最大为0这个为硬件限制的理论值,如果超过这个值,硬盘
16、的响应可能会变得非常缓慢而不能正常提供业务。在与上,读没有差别。但是,相同的业务写,最终落在磁盘上的却是有差别的,而我们评估的正是磁盘的,如果达到了磁盘的限制,性能肯定是上不去了。我们在第章中某移动公司营账系统的是0读命中率是0读为,写为,磁盘个数为2我们分别计算在与的情况下,每个磁盘的为多少。单块盘的这里的表示疋读的,比例是,除掉命中,实际只有个。而表示写的,因为每一个与,在中,实际发生了个,所以写的为个。为了考虑在写操作的时候,那个读操作也可能发生命中,所以更精确的计算为:单块盘的计算出来单个盘的为个,基本达到磁盘极限。单块盘的可以看到,因为对于一个写操作,只发生次,所以,同样的压力,同样
17、的磁盘,每个盘的只有个,还远远低于磁盘的极限。和的比较在我们考虑存储设计时,到底用还是选择呢?下面我们来做个比较。为了方便对比,这里拿同样多驱动器的磁盘来做对比,选择的方案,选择的方案,如图和所示。I?-A(点击查看大图)图2-6RADI5(3D+1P)(点击查看大图)图2-5RAID10(2D+2D)安全性方面的比较其实在安全性方面,毋庸置疑,肯定是的安全性高于我们可以通过简单的分析来得出此结论。当盘损坏时,对于,只有当盘对应的镜像盘也损坏,才会导致失效。但是对于,剩下的块盘中,任何一块盘出现故障,都将导致失效。在恢复的时候,恢复的速度也快于,空间利用率的比较的利用率是,的利用率是5硬盘数量
18、越多,的空间利用率越高。读写性能方面的比较主要分析如下三个操作:读、连续写、离散写。提示:存储的我们已经在中讲述,因为这三个操作跟有很大的关系。读操作方面的性能差异可供读取有效数据的磁盘个数为,可供读取有效数据的磁盘个数也为个校验信息分布在所有的盘上,所以两者在读方面的性能应该是基本一致的。连续写方面的性能差异在连续写操作过程中,如果有写存在,并且算法没有问题的话,比甚至会更好一些,虽然也许并没有太大的差别这里要假定存储有一定大小,足够的写而且计算校验的不会出现瓶颈,因为这个时候的校验是在中完成,如块盘的I可以先在内存中计算好校验,然后同时写入个数据个校验。而只能同时写入个数据个镜像。如图所示
19、,块盘的可以在同时间写入、到,并且在计算好校验之后,这里假定是6同时把这个数据写到磁盘。而块盘的不管是否存在,写的时候,都是同时写个数据或个镜像。(点击查看大图)图2-7连续写根据前面对缓存原理的介绍,写是可以缓存写操作的,等到缓存写数据积累到一定时期再写到磁盘。但是,写到磁盘阵列的过程是迟早也要发生的,所以与在连续写的情况下,从缓存到磁盘的写操作速度会有较小的区别。不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别并不是太大。离散写方面的性能差异例如数据库每次写一个数据块的数据,如或,由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。但是因为不保证能
20、够填满的一个条带,比如保证每张盘都能写入,所以很多时候更加偏向于离散写入写入到已存在数据的条带中,离散写的时候,与的工作方式有什么不同?查看图-假定要把一个数字变成数字,那么对于,实际发生了次:先读出与校验,可能发生读命中,然后在中计算新的校验,写入新的数字与新的校验8对于,同样的操作,最终只需要个,而需要个。图2-8离散写这里我忽略了在那两个读操作的时候,可能会发生读命中操作的情况。也就是说,如果需要读取的数据已经在中,可能是不需要个的。这也证明了对的重要性,不仅仅是计算校验需要,而且对性能的提升尤为重要。当然,并不是说对就不重要了,因为写缓冲,读命中等,都是提高速度的关键所在,只不过对的依
21、赖性没有那么明显而已。4)磁盘的IOPS对比对空间利用率要求较高,而对安全性要求不是特别高的大文件存储的系统,采用比较好。相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用的方式比较好。根据我的经验与分析:小的数据库类型操作,如等应用,建议采用;而大型文件存储、数据仓库,如医疗系统、视频编辑系统,从空间利用的角度,建议采用,在一个实际的案例中,一个恢复压力很大的这里主要是写,而且是小的写,采用了的方案,发现性能很差,通过分析,每个磁盘的在高峰时期,快达到了,导致响应速度非常之慢。后来改造成,就避免了这个性能问题,每个磁盘的降到了左右。所以,了解和原理,对我们根据应用系统的特点来做存储设
22、计,从而保证性能非常重要。存储相关性能调整案例下面我们举一个实际的案例来说明在存储这个层面,由于配置参数不合理而导致的性能问题。客户应用系统环境存储:日立存储操作系统:数据库:多路径通道软件:提示:是公司提供的安装在主机端的存储通道传输管理工具软件。提供主机到存储系统的通道负载平衡和故障切换功能,增强了主机系统的数据可得性。以下是性能调整报告。问题描述2007/09/23:8点10分左右,CSRPROD节点,DB2数据库出现挂起,同时操作系统有大量LVDD报错。调整过程:2007/09/23:09:15,赶到现场处理。部分磁盘不可用,利用fsck修复文件系统。2007/09/23:10:00,
23、通过HACMP挂起共享磁盘和应用。2007/09/24:20:00,调整日立HDS的HDLM软件的参数hd_pbuf_cn,将其最大请求数从16384改为65536。2007/09/30:18:00,升级HBA卡的微码到最新91A5。2008/10/01:20:00,重新启动系统。调整结果:最后通过调整日立存储层面的参数,解决了系统性能问题。因为这个案例还需要结合操作系统方面的调整,仅仅单独调整存储方面还不能完全解决问题,所以这个案例我们暂时先讲到这里。在第章我们讲完操作系统后,再详细讲解这个案例,详细内容请参见第章的“设置不合理导致性能问题调整案例”。存储设计总结在进行存储设计时,我们可以参考以下设计原则:请确保您的数据均匀地分布在所有的物理磁盘中。如果您的数据仅位于几个盘,那么使用多个逻辑单元号或者物理磁盘又有什么实际意义呢?如果您使用了或者其他类型的存储阵列,那么您应
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 试验委托协议书
- 工地合作合同范本
- 广告宣传协议书
- 工作框架协议书
- 诊所招人协议书
- 小学旷课协议书
- 幽默减肥协议书
- 延期质保协议书
- 装修赔款协议书
- 英语陪跑协议书
- 门窗合同范本的模板
- 深度解析(2026)《DLT 2121-2020高压直流输电换流阀冷却系统化学监督导则》
- 2025北京日报社招聘10人参考笔试题库及答案解析
- 2025-2026学年高一上学期期中模拟地理试卷 (上海专用)
- 财务税务合规审查操作手册
- 2023年开封辅警招聘考试真题含答案详解(完整版)
- 2025年注册监理工程师房建工程延续继续教育试卷及答案
- 散白酒知识培训资料课件
- 《宋崇导演教你拍摄微电影》章节测试题及答案
- 2025年弱电施工考试题目及答案
- 2025年初级社工考试真题及答案
评论
0/150
提交评论