Prayer

在一般中寻求卓越
posts - 1256, comments - 190, trackbacks - 0, articles - 0
  C++博客 :: 首页 :: 新随笔 :: 联系 :: 聚合  :: 管理

db2batch工具的使用

Posted on 2010-05-19 22:56 Prayer 阅读(2915) 评论(0)  编辑 收藏 引用 所属分类: DB2

  基准测试是从各种不同方面(例如数据库响应时间、cpu 和内存使用情况)对应用程序进行评测的一个过程。基准测试基于一个可重复的环境,以便能够在相同的条件下运行相同的测试。之后,对测试收集到的结果可以进行评估和比较。

  db2batch 是一种基准测试工具,它以一组 SQL 和/或 XQuery 语句作为输入,动态地准备语句和描述语句,并返回一个结果集。取决于 db2batch 命令中所使用的选项,结果集可以返回这些语句的执行时间、关于内存使用情况(例如缓冲池)的数据库管理器快照和缓存信息。

  可以在一个 flat 文件或标准输入中指定要运行基准测试的语句。在输入文件中可以设置很多控制选项。指定这些选项的语法是:--#SET control_option value 。下面是包含控制选项的一个输入文件的例子。要获得控制选项的完整列表,请参考 Information Center。

-- db2batch.sql
            -- ------------
            --#SET PERF_DETAIL 3
            --#SET ROWS_OUT 5
            -- This query lists employees, the name of their department
            -- and the number of activities to which they are assigned for
            -- employees who are assigned to more than one activity less than
            -- full-time.
            --#COMMENT Query 1
            select lastname, firstnme,
            deptname, count(*) as num_act
            from employee, department, emp_act
            where employee.workdept = department.deptno and
            employee.empno = emp_act.empno and
            emp_act.emptime < 1
            group by lastname, firstnme, deptname
            having count(*) > 2;
            --#SET PERF_DETAIL 1
            --#SET ROWS_OUT 5
            --#COMMENT Query 2
            select lastname, firstnme,
            deptname, count(*) as num_act
            from employee, department, emp_act
            where employee.workdept = department.deptno and
            employee.empno = emp_act.empno and
            emp_act.emptime < 1
            group by lastname, firstnme, deptname
            having count(*) <= 2; 

  •   选项 PERF_DETAIL 3 意味着将返回关于花费的时间和数据库管理器、数据库及应用程序的快照这些性能方面的细节。
  •   选项 ROWS_OUT 5 意味着无论查询返回的实际行数是多少,只从结果集中取 5 行。
  •   COMMENT Query1 将语句命名为 Query1。

  下面的命令在 SAMPLE 数据库上调用基准测试工具,输入文件为 db2batch.sql。

  db2batch -d sample -f db2batch.sql

  这个命令将返回查询的结果集(限 5 行)和查询所花费的时间及 CPU 时间。另外还返回数据库管理器、数据库和应用程序快照。由于输出很大,因此这里只显示 db2batch 命令的概要。

* Summary Table:

Type      Number      Repetitions Total Time (s) Min Time (s)   ...
--------- ----------- ----------- -------------- --------------
Statement           1           1       0.052655       0.052655 ...
Statement           2           1       0.004518       0.004518 ...


...Max Time (s)   Arithmetic Mean Geometric Mean Row(s) Fetched Row(s) Output
   -------------- --------------- -------------- -------------- -------------
...      0.052655        0.052655       0.052655              5             5
...      0.004518        0.004518       0.004518              8             5

                                             
* Total Entries:              2              
* Total Time:                 0.057173 seconds
* Minimum Time:               0.004518 seconds
* Maximum Time:               0.052655 seconds
* Arithmetic Mean Time:       0.028587 seconds
* Geometric Mean Time:        0.015424 seconds 

  db2batch 命令支持很多选项。这里只列出其中一些选项,让您对这个工具的威力有所了解。

  •   -m parameter_file 用参数值指定用于绑定到 SQL 语句参数占位符的一个输入文件。
  •   -r result_file 指定存放命令结果的输出文件。
  •   -i short|long|complete 指定从哪个方面测量所花费的时间。short 测量运行每条语句所花费的时间。long 测量运行每条语句所花费的时间,包括语句之间的开销。complete 测量运行每条语句所花费的时间,分别报告准备、执行和取数据的时间。
  •   -iso 指定语句使用的隔离级别。默认情况下,db2batch 使用 Repeatable Read 隔离级别。

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理