ITPub博客

首页 > 数据库 > 数据库开发技术 > DB2 HADR对性能的影响

DB2 HADR对性能的影响

原创 数据库开发技术 作者:zchbaby2000 时间:2018-09-13 16:32:12 0 删除 编辑

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/,如需转载,请注明出处,否则将追究法律责任。

上一篇: DB2 HADR性能分析
请登录后发表评论 登录
全部评论
混迹IT 15年,喜欢Java开发,喜欢Python,还喜欢数据库的开发,架构设计,运维和性能优化
  • 博文量
    221
  • 访问量
    68512