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

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

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

1
2
3
4
5
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也都按照我们的设置以更改:

1
2
3
4
5
6
7
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
1
  
1
  
1
 

通过setDB2Client*来方便的使用TRACE调优jdbc程序,布布扣,bubuko.com

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

上一篇:[SQL]当输入表达式得数为一个有效的整数、浮点数、money 或 decimal 类型,那么 ISNUMERIC 返回 1;否则返回 0


下一篇:Illustrator绘制超酷效果的立体字教程