按照事务类型分析DB2事物的性能
2010-06-06 15:01:22 来源:WEB开发网可以看出,该文件由一组事件记录组成,每一条记录有一个唯一的编号和一组属性,如应用程序句柄,操作类型,开始时间,结束时间等。主要内容如表 1所示。
表 1. 事件记录属性列表
属性名称 | 意义 | 值/范围 | 备注 |
Appl Handle | 应用程序句柄 | 整形 | |
Appl Id | 应用程序ID | 字符串 | |
Appl Seq number | 应用程序序号 | 整形 | 每当工作单元结束(即 COMMIT 或 ROLLBACK 终止工作单元)时,此标识就会递增。appl_id 与 sequence_no 一起唯一地标识一个事务。 |
Operation | 操作类型 | Static Commit Rollback Open Close Prepare Describe Execute | Static Commit 和 Rollback 是事务语句的事件。一个 Select 语句一般会对应 Prepare, Describe, Open, Close 四个事件。如果是已经执行过的Select语句,可能只有Open和Close事件。一个 Update/Delete/Insert 语句一般对应 Prepare, Describe, Execute 三个事件。 |
Start Time | 操作开始时间 | 时间戳 | |
Stop Time | 操作结束时间 | 时间戳 | |
Text | SQL语句内容 | 字符串 | 动态SQL语句的参数会被?代替 |
用 DB2 快照(Snapshot)获得应用程序的状态
如前所述,在应用程序执行的过程中可能处于不同的状态,因此需要同时打开DB2快照监测器捕获应用程序状态信息。打开DB2快照的命令如下:
db2 update dbm cfg using DFT_MON_SORT ON
db2 update dbm cfg using DFT_MON_LOCK ON
db2 update dbm cfg using DFT_MON_TABLE ON
db2 update dbm cfg using DFT_MON_STMT ON
db2 update dbm cfg using DFT_MON_UOW ON
db2 update dbm cfg using DFT_MON_TIMESTAMP ON
这些快照监测器默认设置是关闭的,可以通过如下命令查看其状态:db2 get dbm cfg。在实验结束后,如需要关闭快照监测器,可使用 db2 update 命令关闭,将打开命令中的 ON 改为 OFF 即可。
与事件监测器不同,快照监测器不是自动捕获信息的,而是需要通过用户发出快照命令才执行。因此在实验过程中,需要不断的发出针对应用程序的快照命令,并将结果保存到文件中。执行快照的命令如下:
db2 get snapshot for applications on TRADEDB >> application.snapshot.txt
其中TRADEDB为数据库名称。下面是一个应用程序的快照结果,部分无关信息被省略。
清单 2. 快照监测器输出结果
Application Snapshot
Application handle = 26
Application status = UOW Waiting
Status change time = 01/09/2007 00:28:08.472486
Application code page = 1208
Application country/region code = 0
DUOW correlation token = N00A1405.O0B0.070412045634
Application name = db2jcc_application
Application ID = N00A1405.O0B0.070412045634
…
Connection request start timestamp = 01/08/2007 23:56:31.937719
Connect request completion timestamp = 01/08/2007 23:56:31.938028
Application idle time = 10 minutes 9 seconds
CONNECT Authorization ID = DB2INST1
…
Last reset timestamp =
Snapshot timestamp = 01/09/2007 00:38:17.953083
更多精彩
赞助商链接