ImageVerifierCode 换一换
格式:DOCX , 页数:9 ,大小:298.49KB ,
资源ID:20965057      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/20965057.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DB2调优参考文档ver2010231453Word格式文档下载.docx)为本站会员(b****6)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DB2调优参考文档ver2010231453Word格式文档下载.docx

1、修改内容修改日期修改人11.0创建2012-10-21宋超22.0修改完善2012-10-231. 文档说明1.1、文档内容1) 本文档是数据库性能调优的指导性参考文档。文档提供了需调整的参数的调整思路、方法和具体步骤。各现场还需要根据实际平台环境对具体相参数的调试做验证。2) 本文档内容涉及对“锁参数、表统计、缓冲池”调优。主要针对于DB2 v8版本的stmadc库的优化。(注意stmadc库是昵称,真实库名为dcold,两者指同一个库)。1.2、适用情况由于数据库性能所引起的“应用响应缓慢,影响到用户的正常使用”的情况出现,可尝试参照本文档给出的方法对数据库进行优化。1.3、STMA和ST

2、MADC库说明5300升级后,stma和stmadc库都在使用,在访问决策管理系统时,会同时访问到这两个库,stma库部分功能转移到stmadc,故在调优过程中,当出现资源分配紧张时,可考虑将stma库的参数值适当调小些(如可调小stma的缓冲池),以分出部分资源用于调整stmadc库,但在资源够用情况下,最好不要对stma库做调整,维持原参数。1.4、参数总体说明关于文档中涉及到的“参数”做如下说明,详见下表:此表中的红色参数,要按红色的参数设置。参数名对应数据库参数说明原值调整后参数值适用版本locklistStmadc(dcold)分给锁的内存20000DB2 v8、v9maxlocks

3、分配locklist的百分比90locktimout锁超时-1300runstat表做统计每周做一次DB2 v8Stmadc库:STMADC_BUFFP_32K缓冲池STMADC_BUFFP_32K缓冲池页面大小小于6000,调整为6000。10000bufferpool缓冲池其他缓冲池依当地环境调整1) 锁参数,locklist调为20000,maxlocks调为90, locktimeout调为300,这是一个平均值,DB2 v8、v9版本均可采用这3个值。2) 对表做统计,仅适用于DB2 v8版本。3) 缓冲池调整,仅适用于DB2 v8版本。2. 锁参数调整锁参数调整涉及到锁定升级(lo

4、cklist,maxlocks)和锁定超时这两项。与锁相关的参数,可直接按照建议值进行调整。2.1、锁定升级锁定升级 -如果应用程序访问数据库时修改了表中的许多行,最好对整个表有一个锁,而不是在每一行上有多个锁。对于每个锁,DB2都需耗费内存,因此,假如一个表锁可以代替大量的行级锁,则节省的存储区域可以被其它应用程序使用。当多个行级锁转换为表锁时,称为锁定升级。LOCKLIST:分配给锁的内存空间大小MAXLOCKS:允许分配给单个应用程序的全部锁列表(locklist)的百分比。为了防止一些单个的锁占用太多的资源,DB2将执行锁定升级,以避免资源浪费。锁升级有两种不同情况:1、当某个应用程序

5、超过MAXLOCKS配置参数定义的锁列表的百分比,数据库管理器将试图通过为提出锁请求的应用程序授予表锁并释放行级锁来节省内存空间。2、与数据库相连接的多个应用程序由于拥有大量的锁而占满了锁列表。DB2将试图通过获取表锁并释放行级锁来节省内存空间。2.2、锁超时Locktimout:一个被阻塞的查询会无限地等待一个未被满足的锁的请求。通过使用LOCK_TIMEOUT设置,可以指定一个session锁等待的时间。当锁超时发生时,session会返回应用程序“已超过了锁请求超时时段”消息,避免了无限止的锁等待。2.3、调整方法DB2数据库锁参数调整:将locklist调为20000;maxlocks

6、调为90;locktimeout调为300(5分钟)(这3个参数适用于db2各版本。调整完毕后无需重启db2)方法如下:# su - db2admin -需登录到db2服务器上执行$ db2 connect to dcold -连接到dcold即stmadc库$ db2level -查看DB2版本$ db2 get db cfg for dcold |grep -i lock -查看当前参数值$ db2 update db cfg using locklist 20000 maxlocks 90 -修改locklist、maxlocks$ db2 update db cfg for dcold

7、 using locktimeout 300-修改locktimeout$ db2 get db cfg for dcold |grep -i lock -查看修改后的参数值3. 对表做统计runstat3.1、runstat的作用一个SQL在写完并运行之后,其实我们只是告诉了DB2去做什么,而不是如何去做。而具体的如何去做,就取决于优化器。优化器为了生成最优的执行计划,就得掌握当前的系统信息,目录中的统计信息等等,如果这时掌握的系统信息还是过去陈旧的,优化器就不能生成最优的执行计划,则势必对性能造成很大影响。下面举例说明为何需要对表做runstats: 在给表创建一个index后,我们最好做

8、一次runstat,否则可能index没有生效。 在对table做了一次reorg后,记得要做一次runstats。因为对表做reorg,会修改表的很多信息,比如高水位等,所以做一次runstats,可以更新统计信息。 当表里数据发生了比较大的变化,一般来说,大约表里面的数据量的10%-20%发生了变化,就应该作一次runstats。这些变化包括删除,修改,插入。runstats命令就是用来收集数据库对象的状态信息,每做一次的runstat将对数据库对象作一次信息更新。3.2、runstat的注意事项 不要选择在业务繁忙期,runstat过程中会对访问造成一定影响。 DB2v8版本,默认情况下

9、没有自动runstat机制,建议DB2v8版本的环境每周做执行一次runstat。 DB2v9以上版本对runstat机制做了改进,无需要人工参与,会每2小时自动做统计,当然现场也可根据实际情况,在v9上手工执行runstat。 对表做统计无需重启db2。3.3、runstat的方法以stmadc(dcold)库为例,其它库方法与dcold库相同。方法为:1、 通过语句生成runstat脚本找到需要runstat的表;2、 对生成的脚本进行修改,执行修改后的runstat脚本。# su - db2admin$ db2 connect to DCOLD -连接到dcold库$db2 select

10、 RUNSTATS ON TABLE |RTRIM(Ltrim(TABLE_SCHEMA)|.|RTRIM(Ltrim(TABLE_NAME)| ON KEY COLUMNS WITH DISTRIBUTION ON ALL COLUMNS AND SAMPLED DETAILED INDEXES ALL ALLOW READ ACCESS; from SYSIBM.TABLES WHERE TABLE_SCHEMA=DB2ADMIN and TABLE_TYPE=BASE TABLEdcold.sql注意:上条语句执行后将生成dcold.sql脚本,删除此脚本的前3行和最后1行。$ db2

11、-tvf /home/db2admin/dcold.sql -执行这个sql脚本dcold.sql4. 缓冲池调优缓冲池是内存中的一块存储区域,用于临时读入和更改数据库页。缓冲池调优的目是帮助DB2尽可能好地利用可用于缓冲区的内存。整个缓冲区大小对DB2性能有巨大影响。调优注意事项:缓冲池大小需要调整到一个适当值,并不是越大越好,如果总的缓冲区太大,并且没有足够的存储器可用来分配给它们,那么还会造成性能急剧下降。建议在调整时,先记录下各个缓冲值当前值大小,在当前值基础上,每次加200,然后,再对命中率观察,是否有提高,多增加几次,来得到一个合理值。,如果调整完后,命中率反而降低,请再回调。(有

12、个原则是,如果是32位操作系统,最大不要超过1G。)如果出现服务器内存资源不足时,可适当调小stma库的缓冲值,以腾出部分资源给stmadc库使用。以下仅针对db2 v8版本,V9.0以上版本缓冲池大小已由DB2自动维护,无需手工干预。4.1.监控缓冲池命中率缓冲池命中率,需要在业务访问期间观察,最好在业务繁忙时,可使用db2top工具观察,看哪个使用的最多,命中率如何。如果命中率不高,则需要调整,如果命中率高(如80%以上为理想,90%以上为最佳),则无需调整。db2top在DB2工作组版本里不提供,企业版中自带。v8版本中也可把企业版中的db2top工具拷贝到v8版本db2服务器上,放在/

13、usr/bin目录下,并给执行权限后可使用。演示示例: 1) 先在root用户下给可执行权限# chmod 755 /usr/bin/db2top 2)进入到db2admin用户,查看dcold(即stmadc)库的缓冲池命中率情况#su - db2admin$ /usr/bin/db2top -d dcold -大体出现如下界面:17:44:02,refresh=2secs(0.003) AIX,part=1/1,DB2ADMIN:DCOLDd=Y,a=N,e=N,p=ALL qp=off# # # # # # For help type h or .# # # # # # # # # #

14、# db2top -h: usage# # # # # # # # # # # # # # # # # Status: Active# # # # # # # # # Uptime: 24d 22h:03m:54s# # # # # # # # # Last backup# # # # # # 2012/10/15 - 14:19:47DB2 Interactive Snapshot Monitor V2.0Use these keys to navigate:d - Database l - Sessions a - Agentt - Tablespaces b - Bufferpools

15、T - TablesD - Dynamic SQL U - Locks m - Memorys - Statements p - Partitions u - UtilitiesA - HADR F - Federation B - BottlenecksJ - Skew monitor q - Quit3)选择b Bufferpools,出现动态界面后,观察缓冲池使用4.2.缓冲池参数调整1) 查看dcold库内存情况下$ db2mtrk -d v (从显示结果中找到DCOLD相关信息,如下)数据库的内存:DCOLD Backup/Restore/Util Heap 的大小为 16384 个

16、字节 Package Cache 的大小为 5767168 个字节 Catalog Cache Heap 的大小为 1277952 个字节 Buffer Pool Heap 的大小为 33030144 个字节 Buffer Pool Heap 的大小为 65929216 个字节 Buffer Pool Heap 的大小为 33161216 个字节 Buffer Pool Heap 的大小为 6717440 个字节 Buffer Pool Heap 的大小为 1196032 个字节 Buffer Pool Heap 的大小为 42287104 个字节 Buffer Pool Heap 的大小为

17、671744 个字节 Buffer Pool Heap 的大小为 409600 个字节 Buffer Pool Heap 的大小为 278528 个字节 Buffer Pool Heap 的大小为 212992 个字节 Lock Manager Heap 的大小为 84344832 个字节 Database Heap 的大小为 5160960 个字节 Other Memory 的大小为 0 个字节总计:280461312 个字节 -(即280M)2) 查看dcold库(即stmadc)的各个缓冲池的名字及参数信息当前值# su -db2admin (需登录到db2服务器上执行)$ db2 co

18、nnect to dcold -连接到dcold库$ db2level -查看DB2版本select * from syscat.bufferpools -各个缓冲池的名字及参数信息select BPNAME,NPAGES,PAGESIZE from syscat.bufferpoolsBPNAME NPAGES PAGESIZE - - -IBMDEFAULTBP -1 4096STMADCSYSBP 250 4096ISM_TEMPBUF_32K 200 32768CDA_BUFFP_16K 2000 16384STMADC_BUFFP_32K 2000 32768STMADCTMPBP

19、1000 32768如上, BPNAME -dcold库的几个缓冲池的名字;NPAGES -缓冲池页数;(主要看这个值)PAGESIZE -每个页大小(byte) 缓冲池占用内存大小M=页数*页大小3) 缓冲池调整方法:参数都调整后需要重启数据库。调整dcold库中的STMADC_BUFFP_32K缓冲池页面大小,若页面大小小于6000,则整为6000(即6000页*32k=192M)。示例如下:(可优先调整dcold库的下面两个缓冲池值)$ db2 connect to dcold-对STMADC_BUFFP_32K调整$ db2 ALTER BUFFERPOOL STMADC_BUFFP_32K IMMEDIATE SIZE 6000dcold的其它缓冲池,可在原值基础上每次加上200,调整方法同上。调整stmaold库中的STMABP缓冲池页面大小,若页面大小大于10000,则整为10000。调整方法同上。

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1