通过setDB2Client*来方便的使用TRACE调优jdbc程序

mac2022-06-30  22

一般来说通过TRACE的report来分析DDF的性能问题的话,基本对DBA都是噩梦一样。因为所有的Thread都是通过DDF一个类型的Thread,所以不管你怎么分类,看Accounting report都很难分析性能问题。

不过DB2从V9开始JDBC支持通过一系列的set函数设置client端信息,这样就可以将Client的不同SQLs设置为不同的名字来实现性能监控和分析。设置函数举例如下:

db2conn.setDB2ClientAccountingInformation(qname+"accin"); db2conn.setDB2ClientUser(qname+"user"); db2conn.setDB2ClientWorkstation(qname+"wsta"); db2conn.setDB2ClientApplicationInformation(qname+"appin"); db2conn.setDB2ClientProgramId(qname+"cliid");

 

这时候看DB2的accouting trace可看到

PRIMAUTH: USRT001  PLANNAME: q01appin  ,这里的planname就是applicationInformation的信息,所以可以用这个方法来归类不同的SQLs,然后按照PLANAME来分析DDF thread的相关内容。

 

如果看RETRACE的话,可以看到END_USER和WS_NAME也都按照我们的设置以更改:

RIMAUTH CONNECT INSTANCE END_USER WS_NAME RIGAUTH CORRNAME CONNTYPE RECORD TIME DESTNO ACE IFC DESCRIPTION LANNAME CORRNMBR TCB CPU TIME ID ------- -------- ----------- ----------------- ------ --- --- -------------- SRT001 SERVER CCE6B1A72042 q01user q01wsta SRT001 db2jcc_a DRDA 06:12:02.19937131 962 1 63 SQL STATEMENT ISTSERV ppli N/P

转载于:https://www.cnblogs.com/db2zos/p/3622169.html

最新回复(0)