IBM Software Group db2top introduction Monitoring the Data Warehouse Lee, Jeon Geon (leejg@kr.ibm.com) IBM Corporation
DB2 monitoring : how? Many tools available with DB2 Event monitors Snapshot (commands, table functions) db2pd Health monitor db2mtrk List applications/list utilities Activity monitor Customers are wondering which one to use for what purpose? A lot of monitoring elements How to correlate them Complex scripting to format output Most of the time, delta needs to be computed
Monitoring process : what? Most of the time, high level monitoring is sufficient to understand the behaviour ofa s ystem Ease of use is key (otherwise, customers might not monitor anything) The ability to quickly identify active objects is important in order for databases admini strators to react quickly: What is currently running in the system (sessions, utilities, )? What are the most active queries currently running in the system? What are they doing (read, write, sort, overflows, )? What are the most accessed tables/tablespaces/bufferpools? How much temp space is currently being used and by who? Is the workload evenly distributed across all database partitions? How fast are the IO s?
Monitoring process : why? Once an unexpected situation has been indentified, it is necessary to drill-down to unde rstand what is causing the situation : What query are currently executing in the top 10 sessions? What is this query doing (rows read, write, table queues, sorts, )? Is it processing evenly across database partitions? What is the explain plan for that query?
There is a need for a tool to simplify the monitoring proce ss Easy to install : no complex architecture Easy to use : fast, quickly move between various screens Dynamic to enable real time monitoring Minimal overhead : no database connection Collect/Replay mode support db2top has been designed and developped to simplify DB2 monitoring Can be downloaded from alphaworks http://www.alphaworks.ibm.com/tech/db2top Current version: v2.0
Positionning Real-time monitoring : db2top Historical analysis, multiple systems : PE
db2top configuration db2top 의기본설정은인스턴스유저의홈디렉토리에.db2toprc 파일로조정합니다. ex) # db2top configuration file # On unix, should be located in $HOME/.db2toprc # File generated by db2top-1.0h # node= # [-n] nodename database=iptdw # [-d] databasename user= # [-u] database user password= # [-p] user password (crypted) schema=etl_idw # [-V] default schema for explains interval=2 # [-i] sampling interval active=off # [-a] display active sessions only (on/off) reset=off # [-R] Reset snapshot at startup (on/off) delta=on # [-k] Toggle display of delta/cumulative values (on/off) graphic=on # True if terminal supports semi graphical characters colors=on # True if terminal supports colors graph=off # display graph on sessions list (on/off) port=8810 # Port for network collection streamsize=100m # Max collection size per hour (eg. 1024 or 1K : K, M or G) # Ordering of information in sessions screen sessions=sort=1d # Ordering of information in tables screen tables=sort=2d # Ordering of information in tablespaces screen tablespaces=sort=1d # Ordering of information in bufferpools screen bufferpools=sort=17a # Ordering of information in dynamic SQL screen dynsql=sort=0a # Ordering of information in statements screen statements=sort=0a # Ordering of information in locks screen locks=sort=0a # Ordering of information in utilities screen utilities=sort=0a
초기화면 인스턴스사용자로 db2top 을입력하면 db2top 이실행됩니다. 초기화면은다음과같습니다. Refresh interval Last snapshot duration O/S Started vs total partitions Instance Database db2top sessions flag Query patroller flag
Display IBM Software Group display type을 dtterm으로설정하고 Ansi-color가가능한terminal을사용하면다음과같이항목별컬러표현을제공합니다. ex) export TERM=dtterm
db2top 의어떠한화면에서도 h 를누르게되면도움말이나타납니다. 도움말은모니터링내용에따라다르게표현될수있습니다. ex) [Help] d - Database l - Sessions a - Details for agent <agentid> t - Tablespaces b - Bufferpools T - Tables D - Dynamic SQL U - Locks m - Memory pools s - Statements u - Utilities p - Partitions C - Toggle collector on/off W - Watch user/agent / - Set regexp g - Toggle graph on/off i - Toggle idle objects on/off G - Toggle local/global snapshot P - Select db partition X - Toggle extended mode on/off k - Toggle actual/delta values z - Descending sort Z - Ascending sort + - Longer default sort - - Shorter default sort I - Set new snapshot interval R - Reset snapshot monitor S - Run native DB2 snapshot > - Move right < - Move left c - Change columns order f - Freeze display! - Goto to system prompt V - Set default explain schema O - Display settings w - Write parms to.db2toprc h - Help q - Quit DB2 Interactive Snapshot Monitor V1.0h Licensed Materials - Property of IBM Copyright IBM Corp. 2005 All Rights Reserved.
global 옵션 i 키를사용하여현재 active 혹은모든 app 를모니터링할수있습니다. ( 다른모든모니터링에서사용가능 ) g 키를사용하여그래픽지원을사용여부를결정할수있습니다. ( 다른모든모니터링에서사용가능 ) 실행중모니터링표시 실행중인 app 만모니터링 그래픽지원을사용한상태
global 옵션 IBM Software Group k 키를사용하여 delta( 변경분 ) 혹은누적분모니터링을진행할수있습니다. ( 다른모든모니터링에서사용가능 ) 변경분에대한모니터링 변경분모니터링표시 누적분에대한모니터링
global 옵션 P 키를사용하여파티션번호를입력하면특정파티션만모니터링할수있습니다. ( 다른모든모니터링에서사용가능 ) 모든파티션을모니터링하고싶은경우는파티션번호입력없이 Enter 를사용합니다. 특정파티션에대한모니터링
global 옵션 필요에따라컬럼순서와 sorting을수정하여사용자에맞는모니터링을할수있습니다. ( 다른모든모니터링에서사용가능 ) c 옵션을사용하면현재표현가능한모든모니터링항목 ( 컬럼 ) 이나타납니다. z(desc) 나 Z(asc) 를사용하여특정컬럼의 sorting 순서를지정할수있습니다. 기본설정은.db2toprc를통해설정가능합니다. z 혹은 Z 키를사용한후원하는컬럼번호를입력하여 sort 를수행
global 옵션 f 옵션을사용하여해당모니터링화면을멈출수있습니다. 특정 app 모니터링중 f 옵션을사용하면해당 app 의강제종료를의미하기때문에주의가필요합니다. 화면멈춤상태
Application monitoring - l db2top을실행하고 l 키를누르면실행됩니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다. App handle (*) 는실행중을의미
Application monitoring - l a 키를사용하여특정 app 를모니터링할수있습니다. 특정 app 의핸들값을입력
Application monitoring - l a 키를사용하여특정 app 를모니터링할수있습니다. r 혹은 l 키를사용하여다시전체 app 모니터링화면으로돌아갈수있습니다. 가장부하가많이걸린파티션 CPU skew 정보 해당 subsection 을수행하는파티션수 TableQ on which subsection is waiting SQL text
Application monitoring - l a 키를사용하여특정 app 를모니터링할수있습니다. r 혹은 l 키를사용하여다시전체 app 모니터링화면으로돌아갈수있습니다. 해당 app 에서사용하고있는 sub section 을보여줍니다. SQL 이복잡할수록 subsection 수는증가하게됩니다. 각 subsection의상태를나타냅니다. E: executing C: complete S : Send data to TQ R : Receive data from TQ 숫자 : 작업을수행하는파티션갯수
Application monitoring - l L 키를사용하여해당 app에서사용중인 SQL을확인할수있습니다. SQL이매우길때도움이됩니다. 해당 app에서사용하는 SQL이여러개일경우에는해당하는statement의번호를입력할수있습니다. w 키를사용하여 SQL을파일로저장할수있습니다. 파일은홈디렉토리에 dynsql.sql라는이름으로생성됩니다.
Application monitoring - l e 키를사용하면 db2expln 을사용하여해당 app 의 access plan 을검증할수있습니다. vi editor 를통해처리되기때문에 :q 를통해완료됩니다.
Application monitoring - l x 키를사용하면 db2exfmt 를사용하여해당 app 의 access plan 을검증할수있습니다. vi editor 를통해처리되기때문에 :q 를통해완료됩니다.
Application monitoring - l S 키를사용하면해당 app에대한db2 snapshot을수행할수있습니다. 이를통해보다자세한데이터를수집하고모니터링할수있습니다. vi editor를통해처리되기때문에 :q를통해완료됩니다.
Application monitoring - l f 키를사용하여해당 app 를강제종료시킬수있습니다.
Bufferpool monitoring - b b 키를사용하여 DB2의메인메모리인bufferpool을모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다. 해당 BP 의적중율을보여줍니다.
Tablespace monitoring - t t 키를사용하여 tablespace를모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다. 해당 TS 의적중율을보여줍니다. 해당 TS 의사용율을보여줍니다.
Lock monitoring - U U 키를사용하여 lock을모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. P 옵션을사용할수있습니다.
Lock monitoring - U L 키를사용하여 lock chain 을확인할수있습니다.
DB monitoring - d d 키를사용하여 DB 를전체적으로모니터링할수있습니다. k, P 옵션을사용할수있습니다.
Table monitoring - T T 키를사용하여테이블을모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다.
Partition monitoring - p p 키를사용하여 partition을모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다.
Dynamic SQL monitoring - D D 키를사용하여 Dynamic SQL을모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다.
Dynamic SQL monitoring - D L 키를사용하여 SQL 전체문장을확인할수있습니다. w 키를사용하여 SQL 을파일로저장할수있습니다. 파일은홈디렉토리에 dynsql.sql 라는이름으로생성됩니다.
Utility monitoring - u u 키를사용하여 Utility를모니터링할수있습니다. 좌우화살표 ( ) 를이용하여모니터링내용을이동하며확인할수있습니다. i, k, g, P 옵션을사용할수있습니다.
Memory monitoring - m m 키를사용하여메모리를모니터링할수있습니다. i, k, g, P 옵션을사용할수있습니다. FCMBP의경우파티션의배수만큼잘못표현되기때문에파티션수로나누어계산되어야합니다. ( 수정중 )
Csv output db2top b <option> <option> : l,t,b,t,
Excel macro IBM Software Group
Output of the macro System Summary pcyybbmp 20/06/2007 90 100 80 70 60 50 40 30 20 0 10 10:49 11:01 11:13 11:25 11:37 11:49 12:01 12:13 12:25 12:37 12:49 13:01 13:13 13:25 13:37 13:49 14:01 14:13 14:25 14:37 14:49 15:01 15:13 15:25 15:38 15:50 16:02 16:14 16:26 16:38 16:50 usr%+sys% 17:02 17:14 17:26 Can correlate this information to nmon analyzer 25000 20000 Disk xfers CPU% IO/sec 15000 10000 5000 0
Demo IBM Software Group