講解DB2 V9.5工作負(fù)載管理之定義服務(wù)類
構(gòu)建數(shù)據(jù)庫環(huán)境
首先我們?cè)?WINDOWS XP 環(huán)境下安裝 DB2 ESE V9.5,安裝完成后,打開一個(gè) DB2CLP 窗口,發(fā)出CREATE DB 命令,創(chuàng)建示例數(shù)據(jù)庫 DB2TEST1,命令中需要指定數(shù)據(jù)庫代碼頁或數(shù)據(jù)庫代碼集,因?yàn)樵?DB2 V9.5 中所有創(chuàng)建的數(shù)據(jù)庫默認(rèn)情況下數(shù)據(jù)庫代碼頁都是 1208,數(shù)據(jù)庫代碼集都是 UTF-8,這點(diǎn)和之前的版本不一樣。如果想把數(shù)據(jù)庫代碼頁設(shè)置成 1386,數(shù)據(jù)庫代碼集設(shè)置成 GBK,就需要在 CREATE DB 命令中把數(shù)據(jù)庫代碼頁設(shè)置成 1386 或者把數(shù)據(jù)庫代碼集設(shè)置成 GBK。具體如清單 1 所示:
清單1. 創(chuàng)建示例數(shù)據(jù)庫 DB2TEST1
C:> DB2 CREATE DATABASE DB2TEST1 USING CODESET GBK TERRITORY CN COLLATE
USING SYSTEM PAGESIZE 4096
DB20000I CREATE DATABASE 命令成功完成。
命令執(zhí)行成功,這樣我們創(chuàng)建了一個(gè)示例數(shù)據(jù)庫 DB2TEST1。繼續(xù)在這個(gè) DB2CLP 窗口中發(fā)出 GET DB CFG 命令,查看示例數(shù)據(jù)庫 DB2TEST1 的配置參數(shù),我們可以看到數(shù)據(jù)庫地域是 CN,數(shù)據(jù)庫代碼頁被設(shè)置成了 1386,數(shù)據(jù)庫代碼集被設(shè)置成了 GBK。另外,在 DB2 V9.5 新增了幾個(gè)參數(shù),分別是數(shù)字兼容性、Varchar2 兼容性、十進(jìn)制浮點(diǎn)舍入方式、啟用 XML 字符操作和 WLM 收集時(shí)間間隔(分鐘),這些參數(shù)的具體信息可以查看 DB2 信息中心。查看示例數(shù)據(jù)庫 DB2TEST1 配置參數(shù)的詳細(xì)情況請(qǐng)參見清單 2 所示:
清單 2. 查看示例數(shù)據(jù)庫 DB2TEST1 配置參數(shù)
C:> db2 get db cfg for db2test1
數(shù)據(jù)庫 db2test1 的數(shù)據(jù)庫配置
數(shù)據(jù)庫配置發(fā)行版級(jí)別 = 0x0c00
數(shù)據(jù)庫發(fā)行版級(jí)別 = 0x0c00
數(shù)據(jù)庫地域 = CN
數(shù)據(jù)庫代碼頁 = 1386
數(shù)據(jù)庫代碼集 = GBK
數(shù)據(jù)庫國家/地區(qū)代碼 = 86
數(shù)據(jù)庫整理順序 = UNIQUE
備用整理順序 ( ALT_COLLATE ) =
數(shù)字兼容性 = OFF
Varchar2 兼容性 = OFF
數(shù)據(jù)庫頁大小 = 4096
動(dòng)態(tài) SQL 查詢管理 ( DYN_QUERY_MGMT ) = DISABLE
對(duì)此數(shù)據(jù)庫的發(fā)現(xiàn)支持 ( DISCOVER_DB ) = ENABLE
限制訪問 = NO
缺省查詢優(yōu)化類 ( DFT_QUERYOPT ) = 5
并行度 ( DFT_DEGREE ) = 1
在算術(shù)異常時(shí)繼續(xù) ( DFT_SQLMATHWARN ) = NO
缺省刷新有效期 ( DFT_REFRESH_AGE ) = 0
缺省維護(hù)的選項(xiàng)( DFT_MTTB_TYPES )的表類型 = SYSTEM
保留的高頻值的數(shù)目 ( NUM_FREQVALUES ) = 10
保留的分位點(diǎn)數(shù)目 ( NUM_QUANTILES ) = 20
十進(jìn)制浮點(diǎn)舍入方式 ( DECFLT_ROUNDING ) = ROUND_HALF_EVEN
. . . . . . . . . .
自調(diào)整內(nèi)存 ( SELF_TUNING_MEM ) = ON
數(shù)據(jù)庫共享內(nèi)存大小(4 KB) ( DATABASE_MEMORY ) = AUTOMATIC
數(shù)據(jù)庫內(nèi)存閾值 ( DB_MEM_THRESH ) = 10
鎖定列表的最大存儲(chǔ)量(4 KB) ( LOCKLIST ) = AUTOMATIC
每個(gè)應(yīng)用程序的鎖定百分比列表 ( MAXLOCKS ) = AUTOMATIC
程序包高速緩存大小(4 KB) ( PCKCACHESZ ) = AUTOMATIC
共享排序的排序堆域值(4 KB) ( SHEAPTHRES_SHR ) = AUTOMATIC
排序列表堆(4 KB) ( SORTHEAP ) = AUTOMATIC
. . . . . . . . . .
自動(dòng)維護(hù) ( AUTO_MAINT ) = ON
自動(dòng)數(shù)據(jù)庫備份 ( AUTO_DB_BACKUP ) = OFF
自動(dòng)表維護(hù) ( AUTO_TBL_MAINT ) = ON
自動(dòng) runstats ( AUTO_RUNSTATS ) = ON
自動(dòng)語句統(tǒng)計(jì)信息 ( AUTO_STMT_STATS ) = OFF
自動(dòng)統(tǒng)計(jì)信息概要分析 ( AUTO_STATS_PROF ) = OFF
自動(dòng)概要文件更新 ( AUTO_PROF_UPD ) = OFF
自動(dòng)重組 ( AUTO_REORG ) = OFF
啟用 XML 字符操作 ( ENABLE_XMLCHAR ) = YES
WLM 收集時(shí)間間隔(分鐘) ( WLM_COLLECT_INT ) = 0
繼續(xù)在這個(gè) DB2CLP 窗口中,發(fā)出 DB2LEVEL 命令,查看 DB2 的版本信息,需要注意 DB2 代碼發(fā)行版是 ' SQL09050 ',工作負(fù)載管理(WLM)是從 DB2 V9.5 開始的,具體如清單 3 所示:
清單 3. 查看示例數(shù)據(jù)庫 DB2TEST1 的版本情況
C:> db2level
DB21085I 實(shí)例 ' DB2_01 ' 使用 ' 32 ' 位和 DB2 代碼發(fā)行版 ' SQL09050 ',級(jí)別標(biāo)識(shí)為' 03010107 '。
參考標(biāo)記為 ' DB2 v9.5.0.808 '、' s071001 ' 和 ' NT3295 ',修訂包為 ' 0 '。
產(chǎn)品使用 DB2 副本名 ' DB2COPY2 ' 安裝在 ' C:PROGRA~1IBMSQLLIB~1 ' 中。
我們?cè)诓僮飨到y(tǒng)中存在兩個(gè)用戶,分別是 RHETTE,和 DB2ADMIN,密碼都是 passw0rd。我們使用RHETTE 用戶在 DB2CLP 窗口中連上示例數(shù)據(jù)庫 DB2TEST1,執(zhí)行帶有 CREATE TABLE 語句的腳本 project.sql,創(chuàng)建示例表 PROJECT,具體如清單 4 所示:
清單4 . 創(chuàng)建示例表 PROJECT
C:> db2 connect to db2test1
數(shù)據(jù)庫連接信息
數(shù)據(jù)庫服務(wù)器 = DB2 / NT 9.5.0
SQL 授權(quán)標(biāo)識(shí) = RHETTE
本地?cái)?shù)據(jù)庫別名 = DB2TEST1
C:>db2 -tvf project.sql
CREATE TABLE 'RHETTE'.'PROJECT' ( 'PROJNO' CHAR ( 6 ) NOT NULL ,
'PROJNAME' VARCHAR ( 24 ) NOT NULL WITH DEFAULT '' , 'DEPTNO' CHAR ( 3 ) NOT NULL ,
'RESPEMP' CHAR ( 6 ) NOT NULL , 'PRSTAFF' DECIMAL ( 5 , 2 ) , 'PRSTDATE' DATE ,
'PRENDATE' DATE , 'MAJPROJ' CHAR ( 6 ) ) IN 'USERSPACE1'
DB20000I SQL命令成功完成。
ALTER TABLE 'RHETTE'.'PROJECT' ADD CONSTRAINT 'PK_PROJECT' PRIMARY KEY ( 'PROJNO' )
DB20000I SQL命令成功完成。
CREATE INDEX 'RHETTE'.'XPROJ2' ON 'RHETTE'.'PROJECT' ( 'RESPEMP' ASC)
ALLOW REVERSE SCANS
DB20000I SQL命令成功完成。
繼續(xù)在 DB2CLP 窗口中插入測(cè)試數(shù)據(jù),然后發(fā)出 SELECT 語句,我們可以看到這些數(shù)據(jù),具體如清單 5 所示:
清單5 . 插入數(shù)據(jù)到示例表 PROJECT 中
C:> db2 select * from project
PROJNO PROJNAME DEPTNO RESPEMP PRSTAFF PRSTDATE PRENDATE MAJPROJ
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
AD3100 ADMIN SERVICES D01 000010 6.50 2002-01-01 2003-02-01 -
AD3110 GENERAL ADMIN SYSTEMS D21 000070 6.00 2002-01-01 2003-02-01
AD3100
AD3111 PAYROLL PROGRAMMING D21 000230 2.00 2002-01-01 2003-02-01
AD3110
AD3112 PERSONNEL PROGRAMMING D21 000250 1.00 2002-01-01 2003-02-01
AD3110
AD3113 ACCOUNT PROGRAMMING D21 000270 2.00 2002-01-01 2003-02-01
AD3110
IF1000 QUERY SERVICES C01 000030 2.00 2002-01-01 2003-02-01 -
IF2000 USER EDUCATION C01 000030 1.00 2002-01-01 2003-02-01 -
MA2100 WELD LINE AUTOMATION D01 000010 12.00 2002-01-01 2003-02-01 -
MA2110 W L PROGRAMMING D11 000060 9.00 2002-01-01 2003-02-01
MA2100
MA2111 W L PROGRAM DESIGN D11 000220 2.00 2002-01-01 1982-12-01
MA2110
MA2112 W L ROBOT DESIGN D11 000150 3.00 2002-01-01 1982-12-01
MA2110
MA2113 W L PROD CONT PROGS D11 000160 3.00 2002-02-15 1982-12-01
MA2110
OP1000 OPERATION SUPPORT E01 000050 6.00 2002-01-01 2003-02-01 -
OP1010 OPERATION E11 000090 5.00 2002-01-01 2003-02-01
OP1000
OP2000 GEN SYSTEMS SERVICES E01 000050 5.00 2002-01-01 2003-02-01 -
OP2010 SYSTEMS SUPPORT E21 000100 4.00 2002-01-01 2003-02-01
OP2000
OP2011 SCP SYSTEMS SUPPORT E21 000320 1.00 2002-01-01 2003-02-01
OP2010
OP2012 APPLICATIONS SUPPORT E21 000330 1.00 2002-01-01 2003-02-01
OP2010
OP2013 DB/DC SUPPORT E21 000340 1.00 2002-01-01 2003-02-01
OP2010
PL2100 WELD LINE PLANNING B01 000020 1.00 2002-01-01 2002-09-15
MA2100
20 條記錄已選擇。
定義服務(wù)類(SERVICE CLASS)
服務(wù)類的目的是為工作運(yùn)行定義一個(gè)執(zhí)行環(huán)境,這個(gè)環(huán)境包含可用的資源和不同的執(zhí)行閾值,當(dāng)你定義一個(gè)工作負(fù)載時(shí),你必須為之指定對(duì)應(yīng)的服務(wù)類。如果你沒有顯式的定義工作負(fù)載,用戶數(shù)據(jù)庫請(qǐng)求會(huì)被認(rèn)為是系統(tǒng)默認(rèn)的工作負(fù)載,其對(duì)應(yīng)的服務(wù)類是系統(tǒng)默認(rèn)的用戶服務(wù)類。所有的系統(tǒng)數(shù)據(jù)庫請(qǐng)求,對(duì)應(yīng)的都是默認(rèn)系統(tǒng)服務(wù)類。
所有的數(shù)據(jù)庫請(qǐng)求都是在服務(wù)類中執(zhí)行的,并且在服務(wù)類中獲得相應(yīng)的資源。所有的連接都是映射到工作負(fù)載上的,所有的工作負(fù)載都是映射到服務(wù)類上的。針對(duì)服務(wù)類中資源分配的情況,可以定義相應(yīng)的閾值,來進(jìn)行限定。DB2 的服務(wù)類擁有兩層結(jié)構(gòu):服務(wù)父類(Service Superclass)和服務(wù)子類(Service Subclass)。
當(dāng)你使用服務(wù)類時(shí),你可以通過控制這個(gè)服務(wù)類的一系列屬性,使不同的工作具有不同的優(yōu)先級(jí)。比如,你可以設(shè)置服務(wù)類中工作的 I/O 頁預(yù)取優(yōu)先級(jí),設(shè)置服務(wù)類中所有代理的 CPU 優(yōu)先級(jí),你還可以通過不同類型的閾值控制服務(wù)類中工作所使用的資源。
下面我們打開一個(gè) DB2CLP 窗口,發(fā)出 ALTER SERVICE CLASS 命令,使服務(wù)類 super_class、服務(wù)子類subclass_rhette、subclass_db2admin 失效,接著發(fā)出 DROP SERVICE CLASS 命令,刪除服務(wù)類和服務(wù)子類。需要注意的是,如果你想刪除一個(gè)服務(wù)父類(service superclass),需要保證所有相關(guān)的服務(wù)子類、工作負(fù)載、連接、動(dòng)作、閾值等都無效。DROP SERVICE CLASS 命令成功完成后,發(fā)出 CREATE SERVICE CLASS 命令,創(chuàng)建我們需要的服務(wù)父類和服務(wù)子類,具體如清單 6 所示:
清單 6 . 創(chuàng)建服務(wù)類和服務(wù)子類
C:> db2 -tvf create_serviceclass.sql
alter service class subclass_rhette under super_class disable
DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL0204N ' SUPER_CLASS ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704
alter service class subclass_db2admin under super_class disable
DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL0204N ' SUPER_CLASS ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704
alter service class super_class disable
DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL0204N ' SUPER_CLASS ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704
drop service class subclass_rhette under super_class
DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL0204N ' SUPER_CLASS ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704
drop service class subclass_db2admin under super_class
DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL0204N ' SUPER_CLASS ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704
drop service class super_class
DB21034E 該命令被當(dāng)作 SQL 語句來處理,因?yàn)樗菬o效的“命令行處理器”命令。在
SQL 處理期間,它返回:
SQL0204N ' SUPER_CLASS ' 是一個(gè)未定義的名稱。 SQLSTATE = 42704
create service class super_class
DB20000I SQL命令成功完成。
create service class subclass_rhette under super_class agent priority
default prefetch priority default collect activity data on all with details
and values collect aggregate activity data base collect aggregate request data base
DB20000I SQL命令成功完成。
create service class subclass_db2admin under super_class agent priority 6
prefetch priority high
DB20000I SQL命令成功完成。
名稱成功完成,需要注意的是我們?cè)趫?zhí)行 CREATE SERVICE CLASS 命令時(shí),指定了多個(gè)選項(xiàng),下面來分別介紹一下:
AGENT PRIORITY DEFAULT or AGENT PRIORITY integer-constant
代理進(jìn)程的優(yōu)先級(jí)實(shí)際是 CPU 的優(yōu)先級(jí)。
需要注意的是,使用這個(gè)屬性只適用于用戶請(qǐng)求對(duì)應(yīng)的服務(wù)類,不適合系統(tǒng)數(shù)據(jù)庫請(qǐng)求對(duì)應(yīng)的系統(tǒng)服務(wù)類。你可以使用這個(gè)屬性把當(dāng)前服務(wù)類中代理的線程優(yōu)先級(jí)和其他服務(wù)類區(qū)別開來。
AGENT PRIORITY integer-constant:指定運(yùn)行在服務(wù)類中的代理相對(duì)于操作系統(tǒng)優(yōu)先級(jí)的相對(duì)值。 AGENT PRIORITY DEFAULT:和運(yùn)行在 DB2 中的線程一樣的正常優(yōu)先級(jí)。默認(rèn)值是 DEFAULT。當(dāng)代理優(yōu)先級(jí)設(shè)置為 DEFAULT 時(shí),沒有特殊的操作發(fā)生,服務(wù)類中的代理將按照所有的 DB2 線程一樣的優(yōu)先級(jí)進(jìn)行調(diào)度。DEDAULT 對(duì)應(yīng)的值是 -32768。
當(dāng)這個(gè)參數(shù)設(shè)置成 DEFAULT 以外的值時(shí),代理真正的優(yōu)先級(jí)將是正常優(yōu)先級(jí)加上 AGENT PRIORITY,并將在下次動(dòng)作時(shí)生效。比如,如果正常的優(yōu)先級(jí)是 20,并且我們把這個(gè)參數(shù)設(shè)置成 6,那么服務(wù)類中的代理的優(yōu)先級(jí)是 20+6=26.
當(dāng)服務(wù)父類的代理優(yōu)先級(jí)設(shè)成 default 時(shí),那么這個(gè)服務(wù)父類中的代理將按照和操作系統(tǒng)調(diào)度 DB2 線程一樣的優(yōu)先級(jí)進(jìn)行調(diào)度。當(dāng)服務(wù)子類的代理優(yōu)先級(jí)設(shè)成 default 時(shí),服務(wù)子類繼承服務(wù)父類的進(jìn)程優(yōu)先級(jí)。默認(rèn)的服務(wù)子類的代理優(yōu)先級(jí)不能進(jìn)行修改。
在 Linux 和 UNIX 平臺(tái),integer-constant 的值可以是 -20 到 20(值越小代表的優(yōu)先級(jí)越高),在windows 平臺(tái),integer-constant 的值可以是 -6 到 6(值越小代表的優(yōu)先級(jí)月低)。
PREFETCH PRIORITY
你可以使用這個(gè)參數(shù)來控制服務(wù)類中代理的預(yù)取優(yōu)先級(jí)。可選的值有 high, medium, low. 當(dāng)你設(shè)置了這個(gè)參數(shù),服務(wù)類中的代理對(duì)應(yīng)的預(yù)取順序在下次將按照你設(shè)置的值進(jìn)行。如果你在一個(gè)預(yù)取請(qǐng)求提交后再修改這個(gè)參數(shù)的值,那么這個(gè)預(yù)取請(qǐng)求將不受新的設(shè)置參數(shù)值映像。
DEFAULT :對(duì)一個(gè)數(shù)據(jù)庫服務(wù)父類來說,默認(rèn)的值是 medium 預(yù)取順序。當(dāng)你對(duì)數(shù)據(jù)庫服務(wù)子類指定默認(rèn)值時(shí),服務(wù)子類將繼承相應(yīng)的服務(wù)父類的預(yù)取優(yōu)先級(jí)。
HIGH :把預(yù)取優(yōu)先級(jí)設(shè)成高的。
MEDIUM :把預(yù)取優(yōu)先級(jí)設(shè)成中的。
LOW :把預(yù)取優(yōu)先級(jí)設(shè)成低的。
COLLECT ACTIVITY DATA
指定當(dāng)動(dòng)作完成后服務(wù)類中執(zhí)行的每個(gè)動(dòng)作信息都發(fā)送到相應(yīng)的事件監(jiān)控器中。默認(rèn)值是 COLLECT ACTIVITY DATA NONE。COLLECT ACTIVITY DATA 子句只適用于服務(wù)子類。
NONE :指定將不收集這個(gè)服務(wù)類中執(zhí)行每個(gè)動(dòng)作信息。
ON COORDINATOR DATABASE PARTITION: 指定只收集動(dòng)作所在數(shù)據(jù)庫分區(qū)上的動(dòng)作數(shù)據(jù)。
ON ALL DATABASE PARTITIONS : 指定收集所有數(shù)據(jù)庫分區(qū)上的動(dòng)作數(shù)據(jù)。但是,動(dòng)作細(xì)節(jié)和值還是只在動(dòng)作所在的數(shù)據(jù)庫分區(qū)上收集。
WITHOUT DETAILS : 指定語句和編譯環(huán)境不發(fā)送給事件監(jiān)控器。
WITH DETAILS : 指定將語句和編譯環(huán)境發(fā)送給事件監(jiān)控器。
AND VALUES : 指定把動(dòng)作相關(guān)的輸入數(shù)據(jù)值發(fā)送給相應(yīng)的事件監(jiān)控器。
COLLECT AGGREGATE ACTIVITY DATA
指定捕獲這個(gè)服務(wù)類相關(guān)的 aggregate activity data 并發(fā)送給相應(yīng)的事件監(jiān)控器。這些信息將被定期收集,收集的頻率受工作負(fù)載管理收集時(shí)間間隔配置參數(shù) (wlm_collect_int) 數(shù)據(jù)庫配置參數(shù)控制。默認(rèn)值是 COLLECT AGGREGATE ACTIVITY DATA NONE. COLLECT AGGREGATE ACTIVITY DATA 子句只適用于服務(wù)子類。
BASE : 指定這個(gè)服務(wù)類的基本 aggregate activity data 將被捕獲并發(fā)送給相應(yīng)的事件監(jiān)控器。
EXTENDED : 指定這個(gè)服務(wù)類的所有 aggregate activity data 將被捕獲并發(fā)送給相應(yīng)的事件監(jiān)控器。
NONE : 指定將不捕獲這個(gè)服務(wù)類的 aggregate activity data 。
COLLECT AGGREGATE REQUEST DATA
指定捕獲這個(gè)服務(wù)類相關(guān)的 aggregate request data 并發(fā)送給相應(yīng)的事件監(jiān)控器。這些信息將被定期收集,收集的頻率受工作負(fù)載管理收集時(shí)間間隔配置參數(shù) (wlm_collect_int) 數(shù)據(jù)庫配置參數(shù)控制。 默認(rèn)值是COLLECT AGGREGATE ACTIVITY DATA NONE。 COLLECT AGGREGATE ACTIVITY DATA 子句只適用于服務(wù)子類。
BASE :指定這個(gè)服務(wù)類的基本 aggregate request data 將被捕獲并發(fā)送給相應(yīng)的事件監(jiān)控器。
NONE :指定將不捕獲這個(gè)服務(wù)類的 aggregate request data 。
工作負(fù)載管理收集時(shí)間間隔配置參數(shù)(wlm_collect_int)
此參數(shù)指定工作負(fù)載管理(WLM)統(tǒng)計(jì)信息的收集和復(fù)位時(shí)間間隔(以分鐘為單位)。
每隔 x wlm_collect_int 分鐘(其中 x 是 wlm_collect_int 參數(shù)的值),就會(huì)收集所有工作負(fù)載管理統(tǒng)計(jì)信息并將它們發(fā)送至任何活動(dòng)統(tǒng)計(jì)信息事件監(jiān)視器,然后復(fù)位統(tǒng)計(jì)信息。如果存在活動(dòng)事件監(jiān)視器,那么將根據(jù)該事件監(jiān)視器的創(chuàng)建方式,將統(tǒng)計(jì)信息寫入文件或表。如果它不存在,那么將只復(fù)位統(tǒng)計(jì)信息,而不進(jìn)行收集。
可以使用統(tǒng)計(jì)信息事件監(jiān)視器收集的工作負(fù)載管理統(tǒng)計(jì)信息來監(jiān)視短期和長期系統(tǒng)行為。由于可以將結(jié)果合并在一起來獲得長期行為,所以可以使用較小的時(shí)間間隔來同時(shí)獲得短期系統(tǒng)行為和長期系統(tǒng)行為。但是,由于必須手動(dòng)合并不同時(shí)間間隔中的結(jié)果,這將使分析變得復(fù)雜。如果不需要手動(dòng)合并結(jié)果,那么較小的時(shí)間間隔會(huì)導(dǎo)致不必要的開銷增大。因此,減小時(shí)間間隔以捕獲較短期的行為,并且在只分析長期行為就已足夠的情況下,增大時(shí)間間隔以減少開銷。
需要對(duì)每個(gè)數(shù)據(jù)庫定制時(shí)間間隔,而不是對(duì)每個(gè) SQL 請(qǐng)求、命令調(diào)用或應(yīng)用程序進(jìn)行定制。沒有其他配置參數(shù)需要考慮。
注: 所有 WLM 統(tǒng)計(jì)信息表函數(shù)都返回自上次復(fù)位統(tǒng)計(jì)信息以來累積的統(tǒng)計(jì)信息。將按此配置參數(shù)指定的時(shí)間間隔定期復(fù)位統(tǒng)計(jì)信息。
需要注意的是,默認(rèn)的服務(wù)子類 SYSDEFAULTSUBCLASS,自動(dòng)為每個(gè)服務(wù)父類自動(dòng)創(chuàng)建一個(gè)。我們可以通過系統(tǒng)視圖 SYSCAT.SERVICECLASSES,或者通過 db2pd 加 –serviceclasses 選項(xiàng)進(jìn)行查看定義的服務(wù)類。
繼續(xù)在 DB2CLP 窗口中,發(fā)出 DB2PD 命令,查看我們創(chuàng)建的服務(wù)類情況,我們可以看到服務(wù)父類SUPER_CLASS,服務(wù)子類 SUBCLASS_RHETTE、SUBCLASS_DB2ADMIN,以及默認(rèn)創(chuàng)建的服務(wù)子類SYSDEFAULTSUBCLASS,具體如清單7所示:
清單7 . 查看窗口的服務(wù)類
Database Partition 0 - - Database DB2TEST1 - - Active - - Up 0 days 06 : 26 : 15
Service Classes:
. . . . . . . . . .
Service Class Name = SUPER_CLASS
Service Class ID = 14
Service Class Type = Service Superclass
Default Subclass ID = 15
Service Class State = Enabled
Agent Priority = Default
Prefetch Priority = Default
Outbound Correlator = None
Work Action Set ID = N/A
Collect Activity Opt = None
Num Connections = 0
Last Statistics Reset Time = 2007 - 12 - 27 13:33:05.000000
Num Coordinator Connections = 0
Coordinator Connections HWM = 0
Associated Workload Occurrences ( WLO ) :
AppHandl [ nod - index ] WL ID WLO ID UOW ID WLO State
Service Class Name = SYSDEFAULTSUBCLASS
Service Class ID = 15
Service Class Type = Service Subclass
Parent Superclass ID = 14
Service Class State = Enabled
Agent Priority = Default
Prefetch Priority = Default
Outbound Correlator = None
Collect Activity Opt = None
Collect Aggr Activity Opt = None
Collect Aggr Request Opt = None
Act Lifetime Histogram Template ID = 1
Act Queue Time Histogram Template ID = 1
Act Execute Time Histogram Template ID = 1
Act Estimated Cost Histogram Template ID = 1
Act Interarrival Time Histogram Template ID = 1
Request Execute Time Histogram Template ID = 1
Access Count = 0
Last Stats Reset Time = 2007-12-27 13:33:05.000000
Activities HWM = 0
Activities Completed = 0
Activities Rejected = 0
Activities Aborted = 0
Associated Agents:
EDU ID AppHandl [ nod-index ] WL ID WLO ID UOW ID Activity ID
Associated Non-agent threads:
PID TID Thread Name
Service Class Name = SUBCLASS_RHETTE
Service Class ID = 16
Service Class Type = Service Subclass
Parent Superclass ID = 14
Service Class State = Enabled
Agent Priority = Default
Prefetch Priority = Default
Outbound Correlator = None
Collect Activity Opt = On all partitions with details and values
Collect Aggr Activity Opt = Base
Collect Aggr Request Opt = Base
Act Lifetime Histogram Template ID = 1
Act Queue Time Histogram Template ID = 1
Act Execute Time Histogram Template ID = 1
Act Estimated Cost Histogram Template ID = 1
Act Interarrival Time Histogram Template ID = 1
Request Execute Time Histogram Template ID = 1
Access Count = 0
Last Stats Reset Time = 2007-12-27 13:33:05.000000
Activities HWM = 0
Activities Completed = 0
Activities Rejected = 0
Activities Aborted = 0
Associated Agents:
EDU ID AppHandl [ nod-index ] WL ID WLO ID UOW ID Activity ID
Associated Non-agent threads:
PID TID Thread Name
Service Class Name = SUBCLASS_DB2ADMIN
Service Class ID = 17
Service Class Type = Service Subclass
Parent Superclass ID = 14
Service Class State = Enabled
Agent Priority = 6
Prefetch Priority = High
Outbound Correlator = None
Collect Activity Opt = None
Collect Aggr Activity Opt = None
Collect Aggr Request Opt = None
Act Lifetime Histogram Template ID = 1
Act Queue Time Histogram Template ID = 1
Act Execute Time Histogram Template ID = 1
Act Estimated Cost Histogram Template ID = 1
Act Interarrival Time Histogram Template ID = 1
Request Execute Time Histogram Template ID = 1
Access Count = 0
Last Stats Reset Time = 2007-12-27 13:33:05.000000
Activities HWM = 0
Activities Completed = 0
Activities Rejected = 0
Activities Aborted = 0
Associated Agents:
EDU ID AppHandl [ nod-index ] WL ID WLO ID UOW ID Activity ID
Associated Non-agent threads:
PID TID Thread Name
我們也可以通過控制中心查看系統(tǒng)視圖 SYSDEFAULTSUBCLASS,來看一下我們創(chuàng)建的服務(wù)類情況,具體如圖 2 所示:
