庖丁為文惠君解牛,手之所觸,肩之所倚,足之所履,膝之所踦,砉然向然,奏刀騞然,莫不中音。合於《桑林》之舞,乃中《經首》之會。 文惠君曰:“嘻,善哉!技蓋至此乎?
說起DB2,大家可能比較陌生,更多的是對oracle,SQLserver,MYSQL以及大行其道的NOSQL如MongoDB,REDIS等了解的比較多。筆者由於工作的原因對DB2接觸的比較多,在這裡談一下自己的理解。由於筆者自身的局限性,對很多問題的描述可能准確,歡迎指正。 大家都知道MYSQL是單進程多線程,ORACLE在Window和linux上表現不同,windows下是單進程多線程,linux下是多進程方式提供服務。DB2也是以類似多地址空間(與進程相類似)的方式提供服務。
Architected around the address space Conceptually, DB2 is a relational database management system. Physically, DB2 is an amalgamation of address spaces and intersystem communication links that, when adequately tied together, provide the services of a relational database management system.
原文
DB2 的這種進程處理方式,OVERHEAD便是進程間通信,引入了很多的子線程的分類,如CICS THREAD,ALLIED ADDRESS SPACE,DATABASE ACCESS THREAD,這些概念可能通過進程間通信這種方式來理解就比較好接受了,這也引入了所謂的不同的CALL ATTACHEMENT FACILITY的概念,其實都是由於DB2對外開放的不同API而已。 關於DB2 cluster的工作方式更多的是DB2 DATA SHARING,可以參考
本篇內容是在寫完系統調優的基本功後,在次進行的梳理,同時增加了應用調優的部分。知識的學習本身也是一個循序漸進的過程。 首先我們需要明確性能的概念,何為性能,它對應的英文單詞為performance,維基百科給出的解釋--- 計算機完成某項有用的工作所消耗的時間與資源WIKI。所以好的高性能,也就意味著使用更少的資源,更快的完成工作。 性能的目標是沒有蛀牙,哈哈
根據國情,所有這些都是要滿足leader的需求為前提,指定上述目標後,就是monitor,看看當前的系統是否滿足上去要求,從而進行調優。monitor根據執行的頻度有三種:
其實DBA面對更多的是2,3所發現的問題,時間緊,任務重,如果可以規避還好,如果不能規避,需要實施緊急變更。但是如果monitor 1 基礎打得好,可以提前發現很多問題,將問題消滅在萌芽狀態。monitor 1 更多是收集性能信息,以及系統整體的運行情況。
一點體會: 其實調優本身也是一個資源配置的問題,在特定的場景之下,如何把有限的資源進行有效的配置,從而達到組織的目的。 整個組織目前擁有的資源,這裡只對計算機系統調優而言:
影響這些resource的方式不外乎:
1. got enough 2. not enouth 3. too much 4. inefficient 5. what are the available controls? (fixes)
系統調優 應用調優
關於系統調優前面已經介紹過了--系統調優的基本功,這裡的任務就是如何在總結提煉.那篇文章介紹的更多內容其實對應的是routine monitor,
CICS性能數據收集交易性能數據對應的SMF 類型為110,對應的分析工具CICS PA
SMF Type 110 (subtype0) — CICS Journal Record SMF Type 110 (subtype1) — CICS Monitoring Record SMF Type 110 (subtype2) — CICS Statistics RecordDB2 性能數據收集
DB2 SMF 對應的SMF TYPE 為100,101,102,其中
SMF TYPE=100 DB2 SUBSYSTEM STATISTICSSMF TYPE=101 DB2 ACCOUNTING SMF TYPE=102 ALL OTHERE PERFORMANCE
SMF TYPE=100 的表格如下
SMF 本身的結構也是一個樹形層級結構,如果打算收取某一類型的trace,你需要關注三個方面,
這樣對應的收取trace的命令就很好理解了
START TRACE(S) CLASS() IFCID(172) DEST(SMF) ---TNODIS TRACESTOP TRACE(S) TNO(XX) recommand defualt trace:start trace(s) c(1,3,5,6,7,8)解讀stat
這裡首先介紹SMF TYPE=100,由上面的表格,我們可以了解到stat報表包括的大體內容,下面我們逐一介紹,讓你對報表有一個大體的了解,有時候自下而上解決不了問題的時候,stat就是一個關鍵的突破口。 STATISTICS 性能數據收取的時間顆粒度granularity為1分鐘,相比較SMF TYPE101,102,它的量是很少。 考慮解讀性能數據的重要性,後續單獨寫一篇來介紹,你放心,絕對值得寫一章。 在結束准備工作之前,在向你介紹一個性能數據在一個顆粒度內是如何計數的,主要分為3類: