Posted on 2010-05-19 22:56
Prayer 閱讀(3015)
評論(0) 編輯 收藏 引用 所屬分類:
DB2
基準(zhǔn)測試是從各種不同方面(例如數(shù)據(jù)庫響應(yīng)時間、cpu 和內(nèi)存使用情況)對應(yīng)用程序進(jìn)行評測的一個過程。基準(zhǔn)測試基于一個可重復(fù)的環(huán)境,以便能夠在相同的條件下運(yùn)行相同的測試。之后,對測試收集到的結(jié)果可以進(jìn)行評估和比較。
db2batch 是一種基準(zhǔn)測試工具,它以一組 SQL 和/或 XQuery 語句作為輸入,動態(tài)地準(zhǔn)備語句和描述語句,并返回一個結(jié)果集。取決于 db2batch 命令中所使用的選項(xiàng),結(jié)果集可以返回這些語句的執(zhí)行時間、關(guān)于內(nèi)存使用情況(例如緩沖池)的數(shù)據(jù)庫管理器快照和緩存信息。
可以在一個 flat 文件或標(biāo)準(zhǔn)輸入中指定要運(yùn)行基準(zhǔn)測試的語句。在輸入文件中可以設(shè)置很多控制選項(xiàng)。指定這些選項(xiàng)的語法是:--#SET control_option value 。下面是包含控制選項(xiàng)的一個輸入文件的例子。要獲得控制選項(xiàng)的完整列表,請參考 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;
|
- 選項(xiàng) PERF_DETAIL 3 意味著將返回關(guān)于花費(fèi)的時間和數(shù)據(jù)庫管理器、數(shù)據(jù)庫及應(yīng)用程序的快照這些性能方面的細(xì)節(jié)。
- 選項(xiàng) ROWS_OUT 5 意味著無論查詢返回的實(shí)際行數(shù)是多少,只從結(jié)果集中取 5 行。
- COMMENT Query1 將語句命名為 Query1。
下面的命令在 SAMPLE 數(shù)據(jù)庫上調(diào)用基準(zhǔn)測試工具,輸入文件為 db2batch.sql。
db2batch -d sample -f db2batch.sql
這個命令將返回查詢的結(jié)果集(限 5 行)和查詢所花費(fèi)的時間及 CPU 時間。另外還返回數(shù)據(jù)庫管理器、數(shù)據(jù)庫和應(yīng)用程序快照。由于輸出很大,因此這里只顯示 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 命令支持很多選項(xiàng)。這里只列出其中一些選項(xiàng),讓您對這個工具的威力有所了解。
- -m parameter_file 用參數(shù)值指定用于綁定到 SQL 語句參數(shù)占位符的一個輸入文件。
- -r result_file 指定存放命令結(jié)果的輸出文件。
- -i short|long|complete 指定從哪個方面測量所花費(fèi)的時間。short 測量運(yùn)行每條語句所花費(fèi)的時間。long 測量運(yùn)行每條語句所花費(fèi)的時間,包括語句之間的開銷。complete 測量運(yùn)行每條語句所花費(fèi)的時間,分別報告準(zhǔn)備、執(zhí)行和取數(shù)據(jù)的時間。
- -iso 指定語句使用的隔離級別。默認(rèn)情況下,db2batch 使用 Repeatable Read 隔離級別。