DB2性能調(diào)節(jié)工作總結(jié)_第1頁(yè)
DB2性能調(diào)節(jié)工作總結(jié)_第2頁(yè)
DB2性能調(diào)節(jié)工作總結(jié)_第3頁(yè)
DB2性能調(diào)節(jié)工作總結(jié)_第4頁(yè)
DB2性能調(diào)節(jié)工作總結(jié)_第5頁(yè)
已閱讀5頁(yè),還剩4頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、DB2性能調(diào)節(jié)工作總結(jié)近期負(fù)責(zé)了Metric項(xiàng)目的服務(wù)器性能維護(hù),對(duì)DB2的性能調(diào)節(jié)做了些研究。整體感覺(jué)數(shù)據(jù)庫(kù)調(diào)優(yōu)的關(guān)鍵點(diǎn)應(yīng)該還是在建庫(kù)階段,好的查詢更能得到更好的性能。而后期對(duì)數(shù)據(jù)庫(kù)參數(shù)等的調(diào)節(jié)結(jié)果并不是非常明顯的。網(wǎng)上數(shù)據(jù)庫(kù)調(diào)節(jié)方面的資料也很多,但大多數(shù)都是轉(zhuǎn)來(lái)轉(zhuǎn)去的,在此只做下我個(gè)人的工作總結(jié);(表示對(duì)上訴解釋#表示對(duì)下面解釋)#1,Monitoring#db2getdatabasemanagermonitorswitches顯示監(jiān)視開(kāi)關(guān)的情況db2updatedbmcfgusingDFT_MON_BUFPOOLONDFT_MON_LOCKONdb2updatedbmcfgusingDF

2、T_MON_SORTONDFT_MON_STMTONdb2updatedbmcfgusingDFT_MON_TABLEONDFT_MON_UOSONdb2terminatedb2stopdb2start在實(shí)例級(jí)打開(kāi)監(jiān)視開(kāi)關(guān),這樣隨著實(shí)例的重啟,開(kāi)關(guān)生效db2getdatabasemanagermonitorswitchesdb2getmonitorswitches發(fā)現(xiàn)實(shí)例級(jí)和下面的數(shù)據(jù)庫(kù)監(jiān)視開(kāi)關(guān)都打開(kāi)了db2deacivatedatabasetp1db2activatedatabasetp1重新激活數(shù)據(jù)庫(kù),刷新監(jiān)視數(shù)據(jù)selectagent_id,rows_read,rows_written,

3、rows_selected,rows_insertedfromsysibmadm.snapappl監(jiān)視每個(gè)代理讀寫查詢的情況,如果read的數(shù)量遠(yuǎn)高于select的數(shù)量,考慮是不是缺少索引在我的工作中,很少遇到寫多的情況,所以對(duì)這方面也沒(méi)深入db2getsnapshotfortablesontp1>sntab1.txt接下來(lái)監(jiān)視tp1數(shù)據(jù)庫(kù)下所有表的讀寫啦# #下一步,就是抓到那個(gè)有大量讀大于寫的表,然后提取該表上的查詢SQL# #這里就要考慮兩種情況了,是靜態(tài)的還是動(dòng)態(tài)的# #靜態(tài)的,從包里提取db2bfd-ssqltp1st.bnd# #動(dòng)態(tài)的,可以用snapshotSQLSTATE

4、MENT抓取,這里不寫了然后就要提取由我們關(guān)注的大量讀的查詢SQL我不太喜歡這部,累眼睛,還煩瑣!如果有大量查詢SQL,還需要想辦法自己找生db2describeindexesfortableacctshowdetail然后就是從提由的SQL中找到表,從表中看有沒(méi)有索引,沒(méi)有的話,新建# #之后呢,就可以從訪問(wèn)計(jì)劃中看索引有沒(méi)有生效# #靜態(tài)SQL可以用db2expln從包里弄,本人比較喜歡db2exfmt,因?yàn)閯?dòng)靜SQL都可以弄# #后面有db2exfmt關(guān)于動(dòng)靜的例子,我比較習(xí)慣把SQLstatement拿由來(lái)# #然后放進(jìn)文本里,db2expln-dGTSSTGMS-fSQL.txt-g

5、-z;# oGTSSTGMS_sort.txt# #或者,db2connecttotp1# #db2setcurrentexplainmodeexplain#db2setcurrentexplainsnapshotexplain#db2selectname,addressfromacctwhere#db2exfmt-l-dtp1-oextp2.txt=>viextp2.txt#2,TalespaceandI/OPerformance#db2selectbpname,bufferpoolid,npages,pagesizefromsyscat.bufferpools查看數(shù)據(jù)庫(kù)的緩沖池,sy

6、scat.bufferpools中的bufferpoolid字段和sysibmadm.snapdb_memory_pool的pool_secondary_id是關(guān)聯(lián)的,從后一張表中記載著用戶用戶間的緩沖池和系統(tǒng)自建的緩沖池/CURRENT_SIZE當(dāng)前大小;POOL_CONFIG_SIZE設(shè)置大小;HIGH_WATERMARK最高記錄;我發(fā)現(xiàn),這和使用db2Pd-dbGTSSTGMS-mempools是對(duì)應(yīng)的PhySzPhyUpBndPhyHWM/使用db2pd-dbGTSSTGMS-memset,將同類內(nèi)存集合并計(jì)算在這里插一段緩沖池自調(diào)節(jié)功能介紹下面我們創(chuàng)建示例緩沖池MYBP1,其使用自調(diào)

7、整功能(注意其createbufferpool語(yǔ)句使用了automatic),初始大小為400K,具體如清單4所示:創(chuàng)建使用自動(dòng)自調(diào)整功能的示例緩沖池MYBP1db2createbufferpoolmybp1immediatesize100automaticpagesize4kdb2selectBPNAME,NPAGESfromsysibm.sysbufferpools當(dāng)緩沖池啟用了自調(diào)整功能時(shí),該特定緩沖池的sysibm.sysbufferpools表中的NPAGES字段將設(shè)置為-2。當(dāng)自調(diào)整功能處于禁用狀態(tài)時(shí),NPAGES字段將設(shè)置為緩沖池的當(dāng)前大小。db2alterbufferpoolm

8、ybp2immediatesize100automatic表空間在讀大數(shù)據(jù)的時(shí)候,給表空間指定緩沖區(qū)是沒(méi)有用的。這種情況下,DB2會(huì)利用直接I/O去接觸大數(shù)據(jù)。db2createbufferpoolBP8Ksize1000pagesize8kdb2createsystemtemporarytablespaceTMP8Kpagesize8kmanagedbysystemusing(TMP8K)EXTENTSIZE8PREFETCHSIZE8bufferpoolBP8K#接下來(lái)呢,當(dāng)然是看命中率了當(dāng)然可以用db2getsnapshotfordatabaseontp1#這里介紹另外一個(gè)方法selec

9、tdata_physical_reads,index_physical_reads,total_physical_reads,bp_namefromsysibmadm.bp_hitratiowherebp_namenotlikeIBMSYSTEM%selectdata_logical_reads,index_logical_reads,total_logical_reads,bp_namefromsysibmadm.bp_hitratiowherebp_namenotlikeIBMSYSTEM%selectdata_hit_ratio_percent,index_hit_ratio_perce

10、nt,total_hit_ratio_percent,bp_namefromsysibmadm.bp_hitratiowherebp_namenotlikeIBMSYSTEM%上面這樣可以檢測(cè)每一個(gè)緩沖器的命中率情況#接下來(lái),看一下緩沖器的讀寫情況selectsubstr(bp_name,1,15)asbp_name,total_physical_reads,average_read_time_msfromsysibmadm.bp_read_iowherebp_namenotlikeIBMSYSTEM%selectsubstr(bp_name,1,15)asbp_name,total_writ

11、e,average_write_time_msfromsysibmadm.bp_write_iowherebp_namenotlikeIBMSYSTEM%那個(gè)bufferpool比較忙,用于那個(gè)表空間,該表空間有哪些表,檢查。#下面檢查表空間selectpool_data_p_readsasTotal_Data_Reads,Pool_async_data_readsasAsynch_Data_Reads,pool_async_read_timefromsysibmadm.snapbpwherebp_name=舊MDEFAULTBPselectpool_async_data_read_reqsa

12、sData_Prefetch_Requests,decimal(POOL_ASYNC_DATA_READS)/decimal(POOL_ASYNC_DATA_READ_REQS)asData_Page_Per_Prefetch,pages_from_block_iosfromsysibmadm.snapbpwherebp_name=舊MDEFAULTBP#其中DATA_PAGES_PER_PREFETCH要match上extentsize,為了得到Iextentsize,#(最好打開(kāi)AutomaticPrefetchsize,這樣自動(dòng)計(jì)算數(shù)值NUMofContainers*ExtentSize

13、)使用db2getsnapshotfortablespaceontp1#最好將IOSERVERS和IOCLEANERS設(shè)為自動(dòng)db2getdbcfgshowdetail|grepNUM_IONUM_IOSERVERSAUTOMATIC?NUM_IOCLEANERSAUTOMATIC?#3,MemoryManagement#當(dāng)然是要看內(nèi)存當(dāng)前使用了db2deactivatedbtp1db2activatedbtp1db2mtrk-d-vdb2pd-dbtp1-mempoolsdb2pd-dbtp1-memsets這里就不多說(shuō)了,好多我也不明白,明白的具體情況具體分析#4,MemoryManage

14、ment#db2getsnapshotfordatabaseontp1|grep-isort需要看一下totalsorts和SortOverflows的情況如果sortheap不夠用的話,會(huì)用臨時(shí)表空間可以snapshot一下這個(gè)臨時(shí)表空間特另U注意Bufferpooltemprorarydatalogicalreads和Bufferpooltemporarydataphysicalreads/Bufferpooldatawrites,Asynchronouspooldatapagewrites#接下來(lái)就要估一下sortheap是否夠用db2expln-dtp1-fsortquery.sql-

15、g-z;-oexpsort.txt#這里主要看Rows*RowWidth和sortheap大小#5,Accessplan(Optimizerplan)#MonitorStaticSQLcd$HOME/sqllib/bindb2bindsqltplst.bndexplainyesexplsnapyesdb2exfmt-l-dtp1-nSQLTP1ST-#/-oexptp1.txtsortheapsize*4K(PAGE)和numrows*rowwidth(BYTE)比較大/卜,來(lái)決定sortheapsizePCTFREE&FREEPAGE=>1)只讀表,如果對(duì)于一個(gè)表沒(méi)有任務(wù)更新活動(dòng),那么可以

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論