存储IO设计和性能调优.doc

上传人:scccc 文档编号:12711457 上传时间:2021-12-05 格式:DOC 页数:14 大小:983.50KB
返回 下载 相关 举报
存储IO设计和性能调优.doc_第1页
第1页 / 共14页
存储IO设计和性能调优.doc_第2页
第2页 / 共14页
存储IO设计和性能调优.doc_第3页
第3页 / 共14页
存储IO设计和性能调优.doc_第4页
第4页 / 共14页
存储IO设计和性能调优.doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《存储IO设计和性能调优.doc》由会员分享,可在线阅读,更多相关《存储IO设计和性能调优.doc(14页珍藏版)》请在三一文库上搜索。

1、存储I/O设计和性能调优对于任何程序的运行来说,最慢、最花费时间的操作实际上是从磁盘中检索数据。这主要缘于磁盘I/O 访问中存在的物理机械过程 (磁头旋转和寻道)。尽管磁盘存储技术在最近 几年取得了极大的进步,但磁盘的旋转速度却没有太大的提高。您必须清楚这样一个事实: 在一定条件下,RAM访问仅需要大概540个CPU时钟周期,而磁盘访问则需要花费大概20000 000个CPU时钟周期。很明显,系统中访问数据最薄弱的环节就是磁盘I/O 存储系统,从性能调整的角度来说,就是确保磁盘数据布局不会成为更严重的瓶颈。糟糕的数据布局将会给I/O 性能带来更大的影响。在对系统进行任何优化活动之前,首先应该了

2、解您的存储 I/O系统的物理体系结构,因为如果您所设计的存储I/O 系统非常糟糕,并且其中包含慢速磁盘,或者适配器的使用非常低效,那么其他的任何优化工作都无法提供帮助。数据库的作用就是实现对数据的管理和查询。任何一个数据库系统,必然存在对数据的大量读、写操作。所以I/O问题也往往是导致数据库性能问题的重要原因。要控制好数据库的整体I/O性能,在规划数据库架构时就需要做好存储I/O系统的设计和配置。例如,将对I/O要求不同的文件放置在不同的存储设备上;规划表空间容器的分布、均衡I/O负担、使用并行I/O访问等。在一个应用系统的逻辑部署和物理部署图中,存储和操作系统位于应用系统体系结构的最底层。而

3、数据库是部署在操作系统和存储层之上的,所以我们在做数据库的物理设计和逻辑设计之前,必须先做好存储I/O设计。存储I/O设计中最大的一个原则就是将I/O访问的分布最大限度地平衡在所有可以利用的物理设备上。本章主要内容包括:存储基本概念存储架构存储相关性能调整案例存储设计性能相关问题存储I/O设计总结1 存储基本概念关于存储的概念太多, 许多已经超出了本书的讨论范围。本章主要讲解最常见的几个概念,它们是我们进行存储I/O设计所必须掌握的。1.1 硬盘硬盘处于整个存储系统的最底层,核心的业务数据通常都存放在硬盘上。我们从硬盘上读取一次I/O要花费的时间如下:硬盘上一次I/O时间=磁盘寻道时间+磁头旋

4、转到特定扇区时间+传输时间+延迟图2-1所示的硬盘I/O传输图中标识了磁头在不同位置的寻道时间。衡量一个磁盘的I/O能力有如下几个指标:图2-1磁盘I/O传输图Maximum seek: head move from 111 cylinder to Iasi cylinder屮 sitseek; the mean timehead move icross cylindersAww0SMkMinimum 昶head move on& cylinderAverage Latency: time takes tor platl&r to spin half round(也就足礎时&a

5、mp;将半團原需蛮:爼拼的时叫硬盘的转速(Rotational Speed):也就是硬盘电机主轴的转速,转速是决定硬盘内部传 输率的关键因素之一,它的快慢在很大程度上影响了硬盘的速度。同时,转速的快慢也是区分硬盘档次的重要标志之一。硬盘的主轴马达带动盘片高速旋转,产生浮力使磁头飘浮在盘片上方。要将所要存取资料的扇区带到磁头下方,转速越快,等待时间也就越短。因此,转 速在很大程度上决定了硬盘的速度。目前市场上常见的硬盘转速一般有5400rpm、7200rpm和15000rpm。理论上,转速越快越好,因为较高的转速可缩短硬盘的平均寻道时间和实际 读写时间。但是转速越快发热量越大,不利于散热。现在的

6、主流硬盘转速一般为15000rpm以上。平均寻道时间(Average Seek Time):指硬盘在盘面上移动读写头至指定磁道寻找相应 目标数据所用的时间,它描述硬盘读取数据的能力,单位为毫秒。当单碟片容量增大时,磁头的寻道动作和移动距离减少,从而使平均寻道时间减少,加快硬盘速度。平均延迟时间(Average LatencyTime):指当磁头移动到数据所在的磁道后,然后等待所要的数据块继续转动到磁头下所用的时间。平均访问时间(Average Access Time):指磁头找到指定数据的平均时间,通常是平均 寻道时间和平均延迟时间之和。平均访问时间最能够代表硬盘找到某一数据所用的时间,越短的

7、平均访问时间越好。为什么要讲硬盘呢?因为DB2数据库在工作时,一条SQL语句在经过优化器编译时,优化器会读取统计信息、数据库配置参数和相关硬件信息来为该条SQL 语句生成最优的执行计划。其中的硬件信息包括表空间的transrate 和overhead。这两个参数的计算就是由硬盘的相关属性来决定的。它们计算公式如下:transrate=(1/ 传送速率)*1000/1024000*4096( 假设用 4KB 页大小)overhead=平均寻道时间+(1/磁盘转速)*60*1000)/2)而平均寻道时间、磁盘旋转速度和传送速率是由硬盘本身决定的。所以我们必须做合理的存储I/O设计以使优化器更好地工

8、作。1.2 磁盘阵列技术RAID的全称是独立磁盘冗余阵列(Redu ndant Array of In depe nde nt Disks)。它通过将多个相对比较便宜的磁盘组合起来,并相互连接,同时都连到一个或多个计算机上,以组成一个磁盘组,从而使其性能和容量达到或超过一个价格更昂贵的大型磁盘。20年来,RAID推出了一系列级别,包括RAID 0、RAID 1、RAID 2、RAID 3、RAID4、RAID 5 ,以及各种组合如RAID 1+0等,其中应用最广泛的是RAID5和RAID10。RAID 1+0RAID-0能提供更好的性能,RAID-1能提供最佳的数据保护。如果把两者结合在一起,

9、 就能同时提供高性能和数据保护,但这也会同时提高磁盘阵列造价。RAID-5RAID-5不做全磁盘镜像,但它会对每一个写操作做奇偶校验计算并写入奇偶校验数据。 奇偶校验磁盘避免了像 RAID-1那样完全重复写数据。当一个磁盘失效,校验数据被用来重 建数据,从而保证系统不会崩溃。为避免磁盘瓶颈,奇偶校验和数据都会被分布到阵列中的各个磁盘。尽管读的效率提高了,但是RAID-5需要为每个写操作做奇偶校验,因此它的写的效率很差。1.3 存储的Cache高端存储系统中除了要有高性能、高扩展性的结构外,Cache的设计将直接影响到存储系统的性能表现和可靠性。Cache的主要作用是什么呢?作为缓存,Cache

10、的作用具体体现在读与写两个不同的方面:作为写,一般存储阵列只要求数据写到Cache就算完成了写操作,当写Cache的数据积累到一定程度,阵列才把数据刷到磁盘,这样可以实现批量的写入。所以,阵列的写是非常快速的。至于Cache数据的保护,一般都依赖于镜像与电池(或者是UPS)。Cache在读数据方面的作用同样不可忽视,因为如果所要读取的数据能在Cache中命中的话,将大大减少磁盘寻道所需要的时间。因为磁盘从开始寻道到找到数据,一般都在6ms以上,而这个时间,对于那些密集型I/O的应用可能不是太理想。但是,如果能在Cache保存的数据中命中,一般响应时间则可以缩短在1ms以内。存储的Cache大小

11、对整个I/O性能的影响是非常大的1.4 IOPSIOPS,即I/O Per Seco nd ,也就是每秒进行读写(I/O)操作的次数,它是衡量存储性能 的一个重要指标。1.5 网络存储技术FC SAN(Storage Area Network ,存储区域网)是一个高速的子网,这个子网中的设备可以从您的主网卸载流量。通常,SAN由RAID阵列连接光纤通道(Fibre Channel)组成,SAN同服务器和客户机的数据通信是通过SCSI命令而非TCP/IP来实现的,数据处理是”块级"(block level) 。SAN通过特定的互联方式连接若干台存储服务器而组成一个单独的数据网络,提供企

12、业 级的数据存储服务,如图 2-2所示。SAN是一种特殊的高速网络,连接网络服务器和诸如 大磁盘阵列或备份磁带库的存储设备,SAN置于LAN之下,而不涉及 LAN利用SAN不仅可以提供大容量的存储数据,而且地域上可以分散,缓解了大量数据传输对局域网的影响。SAN的结构允许任何服务器连接到任何存储阵列,不管数据存放在哪里,服务器都可直接存 取所需的数据。图2-2 SAN存储示意图NAS是 Network Attached Storage(网络附加存储)的简称。在 NAS存储结构中,存储系统不再通过I/O总线附属于某个服务器或客户机,而是直接通过网络接口与网络直接相连,由用户通过网络访问。它是连接

13、到一个计算机网络的文件层的数据存储,可以为不同网络的客户端提供数据存储服务。NAS的硬件与传统的专用文件服务器相似,它们的不同点在于软 件端。NAS中的操作系统和其他软件只提供数据存储、数据访问功能,以及对这些功能的管理。与传统以服务器为中心的存储系统相比,数据不再通过服务器内存转发,而是直接在客户机和存储设备间传送,服务器仅起控制管理的作用。2 存储架构2.1 存储I/O处理过程了解一个典型的I/O流动图对于我们定位I/O性能瓶颈是非常重要的。下面我们来看个典型的I/O流动图,如图2-3所示。The 10 starts and ends here图2-3 一个典型的I/O流动图提示:Core

14、 Director可以智能化地自动实现负载平衡和流量控制。在I/O处理过程中,要保证HBA卡的网络带宽、光交换机端口带宽、存储的前端端口、后端端口的速度匹配。不要因为某个瓶颈而导致”木桶效应”。2.2 应用系统I/O流动图我们举一个某移动公司营账系统的例子,该系统比较复杂,那么我们来看看该系统的一个整体I/O流动图,如图2-4所示。S&rrerHU应用Server集群端CHATltl(点击查看大图)图2-4 I/O流动图图2-4展示了该移动公司营账应用系统的数据处理层次图。在这个数据处理层次中,我们可以首先简单地将其划分为三个较大的层次:用户层、应用层、数据层。用户层:用户负责发出对数

15、据的请求;应用层:提供各种满足要求的应用,对用户的请求向数据层传递,同样负责将数据层获得的数据处理后发送给用户;数据层:负责数据的管理,以及最终的数据I/O。对于性能的问题,应用层和数据层都需要引起我们的关注,这两者都会对整个系统的性能产生较大的影响。假设最终用户在前台发出了一个查询交易,该交易其实就是一条select语句,那么该请求通过http/https 发送到 Web Server服务器,Web Server接收到该请求后再把该请求 转发给Application Server,在这个阶段我们要确保 Web Server方面不存在瓶颈,否则它无法及时地把最终用户请求转发,会引起交易请求阻塞

16、;Application Server接收到请求后,通过应用程序业务逻辑去数据库中检索记录,在该阶段,我们要确保Application Server不存在瓶颈,不会阻塞到数据库的请求,否则我们要进行Applicati on Server调优;当这个请求到达DB Server后,数据库优化器会为该SQL语句适于语法检查、语义分析、权限检查、查询重写等,之后会制订一个最优的访问计划(access pla n),在该计划中决定用什么索引、用什么扫描方式、访问表的顺序和连接方式等。假设优化器为这条 SQL语句确定的是 全表扫描方式,那么它首先判断数据库bufferpool中是否有它请求的数据,如果有,

17、就直接从内存读取,这叫逻辑读;否则就要从硬盘读,那么要首先判断该表在哪个表空间中,如果该表空间采用的是裸设备(lv),那么它会去读逻辑卷(lv),逻辑卷(lv)是在逻辑卷管理器(lvm)之上的,而lvm又在操作系统之上;在操作系统和存储之间往往还会有一个存储的多 路径通道软件(例如 AIX 上的 MP I/O Driver、EMC的 power path、日立 的 HiCommand Dynamic Link Manager (HDLM)等)可以实现动态负载均衡和流量控制;在多路径通道软件之下是存储 供应商的设备驱动(Device Driver);主机服务器通过 HBA卡和光纤交换机连接,光纤

18、交换 机和存储的前端连接,存储的前端再通过存储的Cache连接后端的物理磁盘。这就是一个磁盘I/O的处理过程。在上面的I/O流动中,每个环节都有可能出现性能问题,所以大家要能够理解这个I/O过程,在出现性能问题时,能快速地找出是哪个环节引起了性能瓶颈。2.3 RAID IOPS磁盘访问时间=磁盘寻道时间+延迟延迟时间=1mi nute/RPM/2决定IOPS的主要因素在于阵列的算法、Cache命中率,以及磁盘个数。阵列的算法会由于阵列的不同而不同,例如在hds usp上面,可能因为ldev(lun)存在队列或者资源限制, 而导致单个ldev的IOPS上不去。所以我们在进行存储I/O设计时,必须

19、结合我们使用的存 储产品去了解这个存储的一些算法规则与限制。Cache的命中率取决于数据的分布、Cache size的大小、数据访问的规则,以及 Cache的算法,如果完整的讨论下来,这里将变得很复杂,超出了本书的讨论范围。我这里只强调一个Cache的命中率,对于一个阵列,读Cache的命中率越高越好,这一般表示它可以支持更多的IOPS,为什么这么说呢?这就与我们下面要讨论的硬盘IOPS有关系了。硬盘的限制,每个物理硬盘能处理的IOPS是有限制的,如10 K rpm15 K rpmATA10M/s13M/s8M/s10 K rpm15 K rpmATA100IOPS150IOPS50IOPS同

20、样,如果一个阵列有120块15K rpm的光纤硬盘,那么,它能撑的最大IOPS为120*150=18000,这个为硬件限制的理论值,如果超过这个值,硬盘的响应可能会变得非常 缓慢而不能正常提供业务。在RAID5与RAID10上,读IOPS没有差别。但是,相同的业务写 IOPS,最终落在磁盘 上的IOPS却是有差别的,而我们评估的正是磁盘的IOPS,如果达到了磁盘的限制,性能肯定是上不去了。我们在第1章中某移动公司营账系统的IOPS是10000,读CACHE命中率是30%读IOPS为60%写IOPS为40%磁盘个数为120,我们分别计算在 RAID5与RAID10的情况下,每 个磁盘的IOPS为

21、多少。RAID5:单块盘的 IOPS = (10000*(1-0.3)*0.6 + 4 * (10000*0.4)/120=(4200 + 16000)/120=168这里的10000*(1-0.3)*0.6 表示是读的IOPS,比例是0.6,除掉CACHE命中,实际只有 4200个IOPS。而4 * (10000*0.4) 表示写的IOPS,因为每一个写,在 RAID5中,实际发生 了 4个IO,所以写的IOPS为16000个。为了考虑RAID5在写操作的时候,那 2个读操作也 可能发生命中,所以更精确的计算为:单块盘的 IOPS= (10000*(1-0.3)*0.6 + 2 * (100

22、00*0.4)*(1-0.3) + 2 *(10000*0.4)/120=(4200 + 5600 + 8000)/120=148计算出来单个盘的IOPS为148个,基本达到磁盘极限。RAID10单块盘的 IOPS = (10000*(1-0.3)*0.6 + 2 * (10000*0.4)/120=(4200 + 8000)/120=102可以看到,因为 RAID10对于一个写操作,只发生 2次IO,所以,同样的压力,同样的 磁盘,每个盘的IOPS只有102个,还远远低于磁盘的极限IOPS。2.4 RAID 10 和 RAID 5 的比较在我们考虑存储I/O设计时,到底用RAID 10还是选

23、择RAID5呢?下面我们来做个比较。为了方便对比,这里拿同样多驱动器的磁盘来做对比,RAID10选择2D+2D的RAID方案,RAID5选择3D+1P的RAID方案,如图2-5和2-6所示。(点击查看大图)图2-5 RAID 10(2D+2D)(点击查看大图)图2-6 RADI 5(3D+1P)1. 安全性方面的比较其实在安全性方面,毋庸置疑,肯定是RAID10的安全性高于RAID5。我们可以通过简单的分析来得出此结论。当盘1损坏时,对于 RAID10,只有当盘1对应的镜像盘也损坏,才会导致RAID失效。但是对于 RAID5,剩下的3块盘中,任何一块盘出现故障,都将导致 RAID失效。在恢复的

24、时候,RAID10恢复的速度也快于 RAID5。2. 空间利用率的比较RAID10的利用率是50% RAID5的利用率是75% 硬盘数量越多, RAID5的空间利用率 越高。3. 读写性能方面的比较主要分析如下三个操作:读、连续写、离散写。提示:存储的Cache我们已经在2.1.3中讲述,因为这三个操作跟Cache有很大的关系。1)读操作方面的性能差异RAID10可供读取有效数据的磁盘个数为4,RAID5可供读取有效数据的磁盘个数也为4个(校验信息分布在所有的盘上 ),所以两者在读方面的性能应该是基本一致的。2)连续写方面的性能差异在连续写操作过程中,如果有写 Cache存在,并且算法没有问题

25、的话, RAID5比RAID10 甚至会更好一些,虽然也许并没有太大的差别 (这里要假定存储有一定大小, 足够的写Cache, 而且计算校验的 CPU不会出现瓶颈)。因为这个时候的 RAID校验是在Cache中完成,如4块盘的RAID5,可以先在内存中计 算好校验,然后同时写入3个数据+1个校验。而RAID10只能同时写入2个数据+2个镜像。如图2-7所示,4块盘的RAID5可以在同时间写入 1、2、3到Cache,并且在Cache计 算好校验之后,这里假定是6,同时把这4个数据写到磁盘。 而4块盘的RAID10不管Cache 是否存在,写的时候,都是同时写 2个数据或2个镜像。(点击查看大图

26、)图2-7连续写根据前面对缓存原理的介绍,写Cache是可以缓存写操作的, 等到缓存写数据积累到一定时期再写到磁盘。但是,写到磁盘阵列的过程是迟早也要发生的,所以RAID5与RAID10在连续写的情况下, 从缓存到磁盘的写操作速度会有较小的区别。不过,如果不是连续性的强连续写,只要不达到磁盘的写极限,差别并不是太大。3)离散写方面的性能差异例如DB2数据库每次写一个数据块的数据,如4KB或8KB,由于每次写入的量不是很大,而且写入的次数非常频繁,因此联机日志看起来会像是连续写。但是因为不保证能够填满 RAID5的一个条带,比如32KB(保证每张盘都能写入),所以很多时候更加偏向于离散写入(写入

27、到已存在数据的条带中)。离散写的时候,RAID5与RAID10的工作方式有什么不同?查看图 2-8 ,假定要把一个数 字2变成数字4,那么对于RAID5,实际发生了 4次10 :先读出2与校验6,可能发生读命 中,然后在Cache中计算新的校验,写入新的数字 4与新的校验8;对于RAID10,同样的操作,最终 RAID10只需要2个10 ,而RAID5需要4个10。RA1D5畑口 I。图2-8离散写这里我忽略了 RAID5在那两个读操作的时候,可能会发生读命中操作的情况。也就是说,如果需要读取的数据已经在Cache中,可能是不需要 4个10的。这也证明了 Cache对RAID5的重要性,不仅仅

28、是计算校验需要,而且对性能的提升尤为重要。当然,并不是说 Cache对RAID10就不重要了,因为写缓冲,读命中等,都是提高速度 的关键所在,只不过 RAID10对Cache的依赖性没有 RAID5那么明显而已。4)磁盘的I0PS对比对空间利用率要求较高,而对安全性要求不是特别高的大文件存储的系统,采用RAID5比较好。相反,安全性要求很高,不计成本,小数据量频繁写入的系统采用RAID10的方式比较好。根据我的经验与分析:小I/O的数据库类型操作,如 ERP等应用,建议采用 RAID10;而大型文件存储、数据仓库,如医疗PACS系统、视频编辑系统,从空间利用的角度,建议采用RAID5。在一个实

29、际的案例中,一个恢复压力很大的 standby(这里主要是写,而且是小10的写), 采用了 RAID5的方案,发现性能很差,通过分析,每个磁盘的I0PS在高峰时期,快达到200 了,导致响应速度非常之慢。后来改造成RAID10,就避免了这个性能问题,每个磁盘的I0PS 降到了 100左右。所以,了解 RAID5和RAID10原理,对我们根据应用系统的特点来做存储 I/O设计,从而保证性能非常重要。3 存储相关性能调整案例下面我们举一个实际的案例来说明在存储这个层面,由于配置参数不合理而导致的性能问题。客户应用系统环境存储:日立存储 HDS操作系统:IBM AIX数据库:DB2 V8.1.9多路

30、径通道软件:HDLM提示:HDLM(Hitachi Dynamic Link Manager) 是HDS公司提供的安装在主机端的存储通道传输 管理工具软件。HDLM提供主机到存储系统的I/O通道负载平衡和故障切换功能,增强了主 机系统的数据可得性。以下是性能调整报告。问题描述:2007/09/23: 8点10分左右,CSR PROD节点,DB2数据库岀现挂起,同时操作系统有大 量LVDD报错。调整过程:2007/09/23: 09:15,赶到现场处理。部分磁盘不可用,利用fsck修复文件系统。2007/09/23: 10:00,通过HACMP挂起共享磁盘和应用。2007/09/24: 20:0

31、0,调整日立HDS的HDLM软件的参数hd_pbuf_cn,将其最大请求数从 16384 改为 65536。2007/09/30: 18:00,升级HBA卡的微码到最新91A5。2008/10/01: 20:00,重新启动系统。调整结果:最后通过调整日立HDS存储层面的hd_pbuf_cn参数,解决了 CSR系统性能问题。因为这个 案例还需要结合操作系统方面的调整,仅仅单独调整存储方面还不能完全解决问题,所以这个 案例我们暂时先讲到这里。在第 3章我们讲完操作系统后,再详细讲解这个案例,详细内容请 参见第3章的“ 3.4.3 pbuf 设置不合理导致性能问题调整案例”。4 存储I/O设计总结在

32、进行存储I/O设计时,我们可以参考以下设计原则:请确保您的数据均匀地分布在所有的物理磁盘中。如果您的数据仅位于几个盘,那么使用多个逻辑单元号(LUN)或者物理磁盘又有什么实际意义呢?如果您使用了 SAN或者其他类型的存储阵列,那么您应该尝试在创建阵列时使它们具有 相同的大小和类型。您还应该在创建它们时,为每个阵列使用一个 LUN,然后将所有的逻辑 卷分散到您的卷组中所有的物理卷。您还应该确保镜像位于不同的磁盘和适配器。数据库索引表空间容器和数据表空间容器也应该位于不同的物理磁盘。对于表空间容器和数据库日志,应该存放到不同的RAID GROUPt物理设备方面。使用高速适配器连接磁盘驱动器,具有大

33、的Cache,这一点是非常重要的,但是您必须确保该总线本身不会成为一个瓶颈。要防止这种情况发生,请确保将适配器分散到多个总线。同时,不要将过多的物理磁盘或者LUN连接到任何一个适配器,因为这样做也会对性能产生极大的影响。您配置的适配器越多越好,特别是在大量磁盘的利用率都很高的情况下。您还应该确保设备驱动程序尽可能支持多路径I/O (MPIO),它支持I/O子系统的负载平衡和流量控制。监控存储Cache的命中率,确保 Cache size的设置应该与业务特点 (OLTP还是OLAP业 务类型)和数据页(data page)的大小设置合理。选择合适的RAID级别。根据自己应用系统的业务类型来选择合

34、适的RAID级别。一般来说,有以下两种典型的业务类型:70/30/50-70% 读,30%写,Cache命中率50% 这是典型的高并发的 OLTP系统 100/100-100% 读,100%!,这是典型的 OLAP DSS系统对于小I/O的数据库类型操作,如ERR银行账务系统、移动计费系统等应用,建议采用RAID10; 而大型文件存储、数据仓库,如报表系统、数据集市系统则从空间利用的角度,建议采用RAID5。在存储上选择合适的条带化大小 (stripe size) ,确保条带化大小要和数据库的 I/O特 点结合,因为对于 OLTP应用,数据库I/O基本是随机小块读写;而对于 OLAP应用,数据库 I/O是连续大块读写。确保操作系统层面和存储层面的条带化大小设置一致,操作系统方面的条带化大小尽量大些。存储是一门学问,在本章中我们只是简单地讲解了一些存储的概念,以及存储I/O设计中的通用性能原则。为什么要讲解呢?这是因为在数据库的性能调优中,这一部分是必须要考虑的。而且往往会由于前期的存储I/O设计不合理而导致后期严重的性能问题。关于这一部分更深的知识,建议读者参考存储方面的书籍。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 社会民生


经营许可证编号:宁ICP备18001539号-1