温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

DB2 HADR对性能的影响

发布时间:2020-08-19 01:55:33 来源:ITPUB博客 阅读:114 作者:zchbaby2000 栏目:数据库

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 带来的开销

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

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI