中国IT动力,最新最全的IT技术教程
最新100篇 | 推荐100篇 | 专题100篇 | 排行榜 | 搜索 | 在线API文档 | 网通镜像
首 页 | 程序开发 | 操作系统 | 软件应用 | 图形图象 | 网络应用 | 精文荟萃 | 教育认证 | 硬件维护 | 未整理篇 | 站长教程
ASP JS PHP工程 ASP.NET 网站建设 UML J2EESUN .NET VC VB VFP 网络维护 数据库 DB2 SQL2000 Oracle Mysql
服务器 Win2000 Office C DreamWeaver FireWorks Flash PhotoShop 上网宝典 CorelDraw 协议大全 网络安全 微软认证
硬件维护  CPU  主板  硬盘  内存  显卡  显示器  键盘鼠标  声卡音箱  打印机  机箱电源  BIOS  网卡  C#  Java  Delphi  vs.net2005
  当前位置:> 程序开发 > 数据库开发 > DB2
[DB2]数据库设计:取得最佳性能的准则 (10)
作者:佚名 时间:2006-10-12 10:16 出处:it168  责编:月夜寒箫
              摘要:[DB2]数据库设计:取得最佳性能的准则 (10)
七、缓冲池方面的考虑

 

 

  1. 缓冲池的重要性

 

 

  很多专家将数据库缓冲池看作DB2环境中影响性能的最关键的资源。很多DB2的架构和设计,其基本思想都是尽可能地避免物理I/O。

 

 

  DB2缓冲池由数个插槽(slot)的连续的内存组成。数据和索引页被从DASD中读出之后,便进入这些插槽,并留在其中,直到DB2缓冲区管理器确定那些插槽要用于其他数据。应用程序所请求的数据出现在内存中(而不是外面的DASD上)的概率越大,总体性能就越好。实际上,这里的数据被重复使用,因而减少了应用程序对I/O的需要。

 

 

  是否释放一个缓冲池槽,这是根据最近被使用(LRU)原则来决定的。DB2维护两个LRU列表,一个用于被随机访问的页,另一个用于被顺序访问的页。这样可以防止大规模的表扫描完全支配缓冲池,并恶劣地影响随机操作。通过使用不同的阈值,DB2 提供了改善缓冲池性能的灵活性。在DB2 SQL Reference手册的第2.7.4节中对这些阈值进行了较为详细的讨论。

 

 

  2. 为缓冲池设置适当的大小

 

 

  缓冲池大小的指定要取决于可用存储(包括中央存储和扩展存储)的容量。我建议首先分析缓冲池的分配,然后逐渐增加缓冲池的大小,直到通过增加分配的空间已无法增加更多的吞吐量,或者直到MVS换页率已难于接受为止。为实现这一点,要使DASD I/O的数量持续下降,并不断增加VPSIZE,直到换页的成本超出了通过减少I/O所带来的好处为止。

 

 

  早些时候,GETPAGES的数量被认为可能是对DB2正在运行的工作量的最好度量。缓冲池的目的是减少I/O(异步读通常表明需要进行预取,从性能角度来看,这样做通常是值得的。另一方面,同步读常常需要对DASD进行随机I/O,因为被请求的页不在缓冲池中)。会计报表显示对应于每个缓冲池的GETPAGES和同步读的数量。一个被普遍接受的ROT声称,如果GETPAGES对同步读的比率小于10:1,那么应该估计对更大缓冲池的需要。

 

 

  3. 多缓冲池配置

 

 

  如果操作系统允许为DB2缓冲池分配相当大的内存,那么使用多缓冲池的配置很可能可以提高特定应用程序或数据库的性能。然而,需要清楚的是,若有了多个缓冲池,那么对这些缓冲池使用效率的监控就变得更加重要。

 

 

  下面给出了关于分配多个缓冲池的一般建议:

 

 

  1) 将表空间与和它们相关的索引分放到不同的缓冲池中,以减少索引I/O。

 

 

  2) 将有不同数据访问模式的数据统一放到不同的缓冲池中。批处理和查询应用程序通常要进行大量的顺序处理,而用于OLTP的数据访问往往更具有随机性。这为利用各种阈值处理缓冲池中某些类型的数据访问提供了一种方法。

 

 

  3) 为独立的应用程序提供一个单独的缓冲池。这就为紧密监控应用程序的性能问题或测试新的应用程序提供了一种方法。

 

 

  4) 如果排序的性能在您的环境中很重要,那么需要为工作文件创建一个单独的缓冲池。

 

 

  5) 对于相对较小但更新频繁的表,通过一个足够大的单独的缓冲池,也许可以同时减少读和写的I/O。

 

 

  6) 为只读表(小的引用表)提供单独的缓冲池可以提高性能。

 

 

  八、结束语

 

 

  考虑周详的数据库设计可以提供巨大的性能收益,但是这必须在应用程序开发过程的早期便开始着手。从早期的DB2开始,明智的开发人员就已经使用了前面提到的很多准则,这些准则直到现在也仍然成立。但是,DB2功能的增强、其他领域中硬件和软件技术的变化将影响当前和将来的应用程序,知道这一点至关重要。当数据库性能成为开发过程中的焦点时,您的数据库设计使得为DB2应用程序提供最佳性能有了更大的可能性。
关闭本页
 
首页 | 投资与合作 | 服务条款 | 隐私政策 | 收藏本站 | 设为首页 | 新用户注册 | 免责声明 | 使用帮助
Copyright ©2005-2008 chinaitpower.com All rights reserved. www.chinaitpower.com 版权所有