DB2 V9配置顾问程序(五)

        从清单9我们可以看到,配置顾问程序主要对示例数据库DB2TEST2做了以下修改:

  • 目录高速缓存大小(4KB)(CATALOGCACHE_SZ)配置参数

              由MAXAPPLS*4根据建议值改成了80。

  • 日志缓冲区大小(4KB)(LOGBUFSZ)配置参数

              由8根据建议值改成了30。

  • 已更改页数的阈值(CHNGPGS_THRESH)配置参数

             由80根据建议值改成了80,此值是百分比。

  • 日志文件大小(4KB)(LOGFILSIZ)配置参数
    由1000根据建议值改成了1024。
  • 主日志文件的数目(LOGPRIMARY)配置参数

              由3根据建议值改成了13。

  • 辅助日志文件的数目(LOGSECOND)配置参数

              由2根据建议值改成了4。

  • 软检查点前回收的日志文件的百分比(SOFTMAX)配置参数

             由100根据建议值改成了520。

      

        为了帮助大家理解,接下来我们分别简要介绍一下这几个参数的含义,具体如下:

  • 目录高速缓存大小(4KB)(CATALOGCACHE_SZ)配置参数
此参数是在数据库共享内存外分配的,并且用于高速缓存系统目录信息。在分区数据库系统中,每个数据库分区都有一个目录高速缓存。高速缓存各个数据库分区中的目录信息允许数据库管理器不需要访问系统目录(或分区数据库环境中的目录节点)来获取先前检测的信息,从而降低其内部开销。目录高速缓存用来存储:

Ø         SYSTABLES信息(包括压缩的描述符)

Ø         授权信息,包括例程的SYSDBUOTH信息和EXECUTE特权

Ø         SYSROUTINES信息

        使用目录高速缓存可以帮助提高下列各项的整体性能:

Ø         绑定程序包和编译 SQL 和 EXERY 语句

Ø         涉及检查数据库级别特权的操作

Ø         涉及检查例程的 EXECUTE 特权的操作

Ø         连接至分区数据库环境中的非目录节点的应用程序

        通过采用服务器或分区数据库环境中的缺省值(-1),用来计算页分配的值是为 MAXAPPLS配置参数指定的值的四倍。如果 MAXAPPLS的四倍小于 8 则出现异常。在此情况下,缺省值 –1 会将CATALOGCACHE_SZ设置为 8。我们通常都是开始使用缺省值,并使用数据库系统监视器来调整它。当调整此参数时,应考虑如果为目录高速缓存保留的额外内存是为另一目的分配的(如缓冲池或程序包高速缓存),它是否会更有效。如果工作负载涉及在短时间内编译许多 SQL 或 XQUERY,且其后很少或不进行编译,则调整此参数尤其重要。如果高速缓存太大,则内存可能会因保留不再使用的信息的副本而造成浪费。在分区数据库环境中,考虑是否需要将目录节点上的 CATALOGCACHE_SZ设置为更大的值,因为非目录节点上要求的目录信息将总是首先在目录节点上高速缓存。CAT_CACHE_LOOKUPS(目录高速缓存查询)、CAT_CACHE_INSERTS(目录高速缓存插入)、CAT_CACHE_OVERFLOWS(目录高速缓存溢出)和 CAT_CACHE_SIZE_TOP(目录高速缓存高水位标记)监视元素将帮助您确定是否应调整此配置参数。需要注意的是,目录高速缓存在分区数据库环境中的所有节点上存在。因为每个节点都有本地数据库配置文件,所以每个节点的 CATALOGCACHE_SZ 值定义本地目录高速缓存的大小。为了提供足够的高速缓存并避免溢出情况的发生,需要在每个节点上显式设置 CATALOGCACHE_SZ 值,并考虑将非目录节点上的 CATALOGCACHE_SZ设置为比在目录节点上的该值小的可能性;记住将从目录节点的高速缓存中检索需要在非目录节点高速缓存的信息。因此,在非目录节点的目录高速缓存就像目录节点上的目录高速缓存中的信息的子集。通常情况下,如果工作单元包含几个动态 SQL 或 XQUERY 语句或如果正在绑定包含许多静态 SQL 或 XQUERY 语句的程序包,则需要较多的高速缓存空间。

  • 日志缓冲区大小(4KB)(LOGBUFSZ)配置参数
        在将日志记录写入磁盘之前,此参数允许您指定用作日志记录的缓冲区的数据库堆栈的容量(由 DBHEAP 参数定义)。当发生下列一种情况时会将日志记录写入磁盘:

Ø         一个事务落实或一组事务落实,由 mincommit 配置参数定义

Ø         日志缓冲区已满

Ø         发生了某些其他内部数据库管理器事件。

        此参数也必须小于或等于 DBHEAP 参数。缓冲日志记录将使日志记录文件 I/O 更有效,因为将日志记录写入磁盘的频率越低,则每次可写入的日志记录就越多。如果在专用的日志磁盘上有大量的读取活动,或者频繁使用磁盘,则要增大此缓冲区的大小。当增大此参数的值时,您也应考虑DBHEAP参数,因为该日志缓冲区使用由DBHEAP参数控制的空间。可以使用数据库系统监视器来确定将多少日志缓冲区空间用于特定事务(或工作单元),在数据库系统监视器中使用LOG_SPACE_USED(使用的工作单元日志空间)监视元素。

  • 已更改页数的阈值(CHNGPGS_THRESH)配置参数

        异步页清除程序在数据库代理程序需要缓冲池中的空间之前将更改的页从缓冲池中写入磁盘。因此,数据库代理程序应该不必等待写出已更改的页,它们也能使用缓冲池中的空间。这提高了数据库应用程序的整体性能。可以使用此参数指定更改的页的级别(百分比),如果异步页清除程序当前不活动,则将从该级别启动。当启动页清除程序时,页清除程序将构建要写入磁盘的页的列表。一旦页清除程序已将这些页写入磁盘,则将再次变为不活动的,并等待下一个触发器来启动。在只读(例如,查询)环境中,不使用这些页清除程序。当设置了 DB2_USE_ALTERNATE_PAGE_CLEANING 注册表变量时(即,使用了进行页清理的另一种方法,此变量设置为“ON”),CHNGPGS_THRESH参数将不起作用,DB2将自动确定在缓冲池中要维护多少脏页。对于具有繁重的更新事务工作负载的数据库,您通常可以将该参数值设置为等于或小于缺省值,以确保在缓冲池中有足够的干净页。如果数据库有少量很大的表,则大于缺省值的百分比有助于提高性能。

  • 日志文件大小(4KB)(LOGFILSIZ)配置参数

        此参数定义每个主日志文件和辅助日志文件的大小。在这些日志文件已满且需要新日志文件之前,这些日志文件的大小限制可写入这些日志文件的日志记录数。主日志文件和辅助日志文件的使用以及在日志文件已满时进行的操作取决于正在执行的日志记录的类型。当其是循环日志记录时,在记录在主日志文件中的更改已落实后,可复用该主日志文件。如果日志文件大小较小,并且应用程序已处理了大量对数据库的更改但未落实这些更改,主日志文件可能会很快变满。如果所有主日志文件变满,则数据库管理器将分配辅助日志文件来保存新的日志记录。而使用归档日志记录模式时,在主日志文件已满时,将该日志归档并分配新的主日志文件。

  • 主日志文件的数目(LOGPRIMARY)配置参数
        主日志文件建立分配给恢复日志文件的固定存储器数量。此参数允许您指定要预分配的主日志文件数。在循环日志记录下,按顺序重复使用主日志。即,当日志已满时,使用序列中的下一个主日志(如果该主日志可用)。如果已落实或回滚日志中具有日志记录的所有工作单元,则认为该日志是可用的。如果序列中下一个主日志不可用,则分配并使用一个辅助日志。分配并使用附加的辅助日志,直到序列中下一个主日志变为可用或达到 LOGSECOND 参数所设置的限制为止。当数据库管理器不再需要这些辅助日志文件时,动态释放这些辅助日志文件。主日志文件和辅助日志文件的数目必须与下列内容一致,如果LOGSECOND的值为 –1,则 LOGPRIMARY 小于等于 256。 如果LOGSECOND的值不是 –1,则(LOGPRIMARY+LOGSECOND) 小于等于 256。为此参数选择的值取决于许多因素,包括正在使用的日志记录类型、日志文件的大小和处理环境的类型(例如,事务的长度和落实的频率)。增大此值将增大日志的磁盘需求,因为主日志文件就是在第一个与数据库的连接期间预分配的。如果您发现经常分配辅助日志文件,则可能可以通过增大日志文件大小(LOGFILSIZ)或增大主日志文件的数目来提高系统性能。对于不经常访问的数据库,为了节省磁盘存储空间,将该参数设置为 2。对于为前滚恢复而启用的数据库,将此参数设置得大一些,以避免几乎立即就分配新日志的开销。可以使用数据库系统监视器来帮助您确定主日志文件的大小。在一段时间内对下列监视器值的观察将有助于更好的调整决定,因为平均值更能代表当前需求。

Ø         SEC_LOG_USED_TOP(使用的最大辅助日志空间)

Ø         TOT_LOG_USED_TOP(使用的总日志空间)

Ø         SEC_LOGS_ALLLOCATED(当前分配的辅助日志)

 

  • 辅助日志文件的数目(LOGSECOND)配置参数

        此参数指定(仅需要时)创建并用于恢复日志文件的辅助日志文件的数目。当主日志文件已满时,可按需要一次分配一个辅助日志文件(大小为 LOGFILSIZ),最多可分配此参数控制的最大数目。如果需要的辅助日志文件数超过此参数所允许的数,则将返回错误代码至该应用程序,并将关闭该数据库。如果将 LOGSECOND设置为 –1,则数据库将配置为具有无限活动日志空间。对在此数据库上运行的未完成事务的大小和数目没有限制。如果将LOGSECOND设置为 –1,则仍使用LOGPRIMARY和 LOGFILSIZ 配置参数来指定DB2应在活动日志路径中保留多少个日志文件。如果DB2需要从日志文件读取日志数据,但该文件不在活动日志文件路径中,则DB2将调用用户出口程序来将该日志文件从压缩文档检索至活动日志路径。(如果配置了溢出日志路径,则 DB2 会将这些文件检索至该路径。)一旦检索到日志文件,DB2将把此文件高速缓存在活动日志路径中,以便他人从同一文件读取日志数据时可提高速度。DB2将根据需要管理这些日志文件的检索、高速缓存和除去操作。如果您的日志路径是原始设备,则必须配置 OVERFLOWLOGPATH配置参数以便将LOGSECOND设置为 –1。通过将LOGSECOND设置为 –1,将对工作单元的大小或并发工作单元的数目没有限制。但是,由于需要从压缩文档检索日志文件,回滚(在保存点级别和在工作单元级别)将可能变得很慢。同样的原因,崩溃恢复也可能变得很慢。DB2会将一条消息写入到管理通知日志,以警告您活动的工作单元的当前集已超出主日志文件。此指示回滚或崩溃恢复可能会非常慢。要将LOGSECOND设置为 –1,必须将 LOGARCHMETH1配置参数设置为除OFF 或 LOGRETAIN之外的值。对于定期需要大量日志空间的数据库,使用辅助日志文件。例如,每月运行一次的应用程序需要的日志空间可能会超过由主日志文件提供的日志空间。由于辅助日志文件不需要永久的文件空间,所以辅助日志文件在这种情况下有优势。

 

  • 软检查点前回收的日志文件的百分比(SOFTMAX)配置参数
        此参数用来: 影响在一次崩溃(如电源故障)之后需要恢复的日志数。例如,如果使用缺省值,则数据库管理器将尝试把需要恢复的日志数保持为 1。如果您指定 300 作为此参数的值,则数据库管理器将尝试把需要恢复的日志数保持为 3。 要影响进行崩溃恢复所需要的日志数,数据库管理器使用此参数来触发页清除程序,以确保比指定的恢复窗口旧的页都已写入磁盘。再就是用来确定软检查点的频率。当由于事件(例如,电源故障)造成数据库故障时,可能会对该数据库出更改,比如尚未落实,但更新了缓冲池中的数据 、已落实,但尚未从缓冲池写入磁盘 、已落实并从缓冲池写入磁盘。当重新启动某个数据库时,将使用日志文件来执行该数据库的崩溃恢复,这确保该数据库处于一致状态(即,所有已落实的事务都应用于该数据库而所有未落实的事务都不应用于该数据库)。要确定需要将日志文件中的哪些记录应用于该数据库,数据库管理器使用日志控制文件。定期将此日志控制文件写入磁盘,并且根据此事件的频率,数据库管理器可能正在应用已落实事务的日志记录,或正在应用那些描述已从缓冲池写入磁盘的更改的日志记录。这些日志记录对数据库没有影响,但应用这些日志记录会将一些开销引入到数据库重新启动进程中。当日志文件已满时以及在软检查点期间,总是将日志控制文件写入磁盘。可使用此配置参数来触发附加软检查点。软检查点的定时基于“当前状态”和“记录的状态”之间的差别,该差别以LOGFILSIZ 的百分比给出。“记录的状态”由磁盘上日志控制文件中指示的最旧的有效日志记录确定,而“当前状态”由内存中的日志控制信息确定。(最旧的有效日志记录是恢复进程将读取的第一个日志记录。)如果下列公式计算的值大于或等于此参数的值,将采用该软检查点:

    ( (记录的状态和当前状态之间的空间) / logfilsiz ) *  100

        您可能想增大或减小此参数的值,这取决于您的可接受的恢复窗口是大于还是小于一个日志文件。降低此参数的值将导致数据库管理器不但更经常地触发页清除程序而且还更频繁地采用软检查点。这些操作可减少需要处理的日志记录数和在崩溃恢复期间处理的冗余日志记录数。但是注意:更多的页清除程序触发器和更频繁的软检查点增加了与数据库日志记录相关联的开销,这可能会影响数据库管理器的性能。而且,如果您遇到下列情况,更频繁的软检查点可能不会缩短重新启动一个数据库所需的时间: 落实点很少的很长的事务或者很大的缓冲池并且未将包含落实事务的页很频繁地写回至磁盘。(注意,使用异步页清除程序可能有助于避免此情况。)在这两种情况中,保留在内存中的日志控制信息不频繁更改,因而在将日志控制信息写入磁盘时不存在优势,除非日志控制信息已更改。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/9524210/viewspace-366497/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/9524210/viewspace-366497/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值