DB2性能调优.docx

  1. 1、本文档共58页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DB2性能调优

DB2 UDB性能调优 目录  TOC \o 1-9 DB2 UDB性能调优文档 1 目录 3 1.文档说明 4 2.数据库配置 5 3.性能监控 16 4.性能优化 26 5.附录 58 1.文档说明 1.1目的 本文档用于指导DB2 UDB数据库的参数配置、性能监控、性能优化,它提供了DB2性能问题处理的通用思路和常规解决办法。 1.2术语及说明 本文提及术语来自于信息中心以及IBM官方网站。 2.数据库配置优化 在进行系统分析确定性能问题的根源时,要先检查数据库的配置,这包括DB2注册变量(Registry Variable)、DBM参数、DB参数等。如果发现是配置的问题,那么就可以通过调整配置来解决问题。 2.1硬件配置 首先,需要确认CPU的配置。其他的硬件配置都可以从CPU配置进行推导。而CPU应该采取什么配置,可以从现有系统的经验来进行判断。例如:一个新系统需要处理超出现有系统50%的用户请求,且每个用户运行的SQL语句的复杂度也与现有系统类似,那么我们就可以假设新系统需要超出现有系统50%的CPU能力。 内存的主要作用是避免I/O操作。通常来说,拥有更多内存的系统性能更好。我们认为为每个处理器内核配置4~8GB内存是相对合适的。 对于使用RAID存储的情况,通常应该为每个处理器内核配置最少10~20个磁盘。 为DB2事务日志分配专门的专用的磁盘。这是因为日志I/O特性与DB2容器有很大的不同。日志I/O与其它类型的I/O的竞争可能导致日志成为一个瓶颈,尤其是对于那些有大量数据行写入行为的系统。 2.2操作系统配置 2.2.1 AIX配置 如果DB2运行在AIX系统上,建议使用VMO命令将系统参数maxperm%设置为90,maxclient%设置为90,minperm%设置为3,lru_file_repage设置为0。 我们可以使用”vmo -a”命令(在AIX 6.1中,需要使用” vmo -a -F”命令)查看VMM参数。另外,使用vmo命令可以设置这些参数:(立即生效) vmo -p -o maxperm%=90 -o maxclient%=90 -o minperm%=3 -o lru_file_repage=0 可选的,我们可以根据需要来决定是否将page_steal_method参数设置1。 关于VMM参数的说明请参考5.1小节。 此外,应该根据需要调整系统参数maxservers。这个参数是为CPU创建的处理异步I/O的内核进程数,默认为每CPU 10个。可以使用如下步骤来设置该参数: 收集ps – elfk | grep aio的输出并且判断是否所有的异步 I/O(AIO)核心进程(aioservers)消耗同样数量的 CPU 时间。 如果是,maxservers 可能太少了。增加 10% 的 maxservers 然后重复第一步。 如果多于10%的异步I/O核心进程使用较少的CPU时间,就降低10%的maxservers并重复第一步。 否则,如果有些异步I/O核心进程使用的CPU时间较少,但数量不超过10%,说明当前的maxservers设置满足需要。 参数 maxreqs 应该被设置成 MAX(NUM_IOCLEANERS x 256,4096)。这个参数用于控制绝大多数突发的异步I/O请求。 Hdisk参数queue_depth定义了应该基于队列的物理硬盘数目。例如,对于IBM 磁盘queue_depth的默认值是3,建议这个值设为3 x磁盘数。这个控制参数可排队的磁盘请求。 硬盘适配器参数num_cmd_elems应该被设为所有连接到这个适配器的设备queue_depth的总和。 2.2.2 Solaris和HP-UX配置 对于在Solaris或HP-UX上运行的DB2,可以利用db2osconf工具得到内核参数推荐值。db2osconf基于内存和CPU能力以及缩放系数(期望的工作负载与当前工作负载的比率)根据现有系统配置来推断得到未来期望的配置。运行大型系统如SAP应用程序时,应该使用2或者更高的缩放系数。在Solaris和HP-UX平台,db2osconf提供了很好的初始值。 2.2.3 Linux配置 在Linux系统上运行DB2时,SHMMAX(共享内存的最大值)应设为可用内存的90%以上,其默认值为8GB。其他重要的内核配置参数以及推荐值如下: kernel.sem(内核旗语): 25025600032 kernel.msgmni(消息队列的标识数): 1024 kernel.msgmax(一个消息的最大大小,单位:字节): 65536 kernel.msgmnb(消息队列的默认大小,单位:字节): 65536 2.3 DB2注册变量、DBM参数、DB参数配置

文档评论(0)

haihang2017 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档