DB2 HADR对性能的影响

db2trc 命令是 DB2 提供的跟踪工具。该跟踪工具记录有关操作的信息并将此信息格式化为可读格式。
需要注意的是,运行跟踪时会增加开销,所以启用跟踪工具可能会影响系统性能。

db2trace 可以跟踪每个函数以及该函数的执行时间。
利用这一性质,我们可以计算出来每次写日志花费的时间以及 HADR 带来的开销。

首先,我们需要找到主机上的写日志的 EDU(Engine Dispatchable Unit),即 db2loggw 的线程号

####获得db2sys的进程号
$ ps -ef | grep -i db2sys | grep -i instref
 instref 15597584 14483602   3 10:24:08      -  6:33 db2sysc 0
####获得db2loggw的EDU号
$ db2pd -edus | grep -i db2loggw
4372      4372                 91947227             db2loggw (CTMPREF) 0                   8.587111     3.557958
####打开db2trc监控,写入文件中
$ db2trc on -t -p 15597584.4372 -f trace.dump
Trace is turned on
####执行一些db2 transactions操作
####关闭监控
$ db2trc off
Trace is turned off
####格式化文件输出
$ db2trc flow -t trace.dump trace.flow
Total number of trace records     : 861
Trace truncated                   : NO
Trace wrapped                     : NO
Number of trace records formatted : 861 (pid: 15597584 tid 4372 node: 0)

解读文件
263           18.318085568   sqlpgwlp entry [eduid 4372 eduname db2loggw]
..................................
359           18.319165218   | sqloWaitEDUWaitPost entry [eduid 4372 eduname db2loggw]
360           18.438925718   | sqloWaitEDUWaitPost exit
..................................
369           18.438940500   sqlpgwlp exit

找到 sqlpgwlp 函数,
找到这个函数内的 sqloWaitEDUWaitPost
计算 sqlpgwlp 的执行时间。T1 = 18.438940500 - 18.318085568 = 0.120854932
计算 sqloWaitEDUWaitPost 的执行时间。T2 = 18.438925718 - 18.319165218 =  0.119760500
T1 是完成这次写日志的总时间,T2 就是这次写日志时,HADR 带来的开销

如果我们跟踪了多次写日志的操作,就跟得到多个上面的片段。可以根据所有的片段计算平均值,从而得到更精确地开销比例。



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

转载于:http://blog.itpub.net/725820/viewspace-2214136/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值