一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

db2緩沖池問題的診斷及優(yōu)化

 星月晨光 2010-06-24
背景知識(shí)
緩沖池是內(nèi)存中的一塊存儲(chǔ)區(qū)域,用于臨時(shí)讀入和更改數(shù)據(jù)庫(kù)頁(yè)(包含表行或索引項(xiàng))。緩沖池的用途是為了提高數(shù)據(jù)庫(kù)系統(tǒng)的性能。從內(nèi)存訪問數(shù)據(jù)要比從磁盤訪問數(shù)據(jù)快得多。因此,數(shù)據(jù)庫(kù)管理器需要從磁盤讀取或?qū)懭氪疟P的次數(shù)越少,性能就越好。對(duì)一個(gè)或多個(gè)緩沖池進(jìn)行配置之所以是調(diào)優(yōu)的最重要方面,是因?yàn)檫B接至數(shù)據(jù)庫(kù)的應(yīng)用程序的大多數(shù)數(shù)據(jù)(不包括大對(duì)象和長(zhǎng)字段數(shù)據(jù))操作都在緩沖池中進(jìn)行。

缺省情況下,應(yīng)用程序使用緩沖池 IBMDEFAULTBP,它是在創(chuàng)建數(shù)據(jù)庫(kù)時(shí)創(chuàng)建的。當(dāng) SYSCAT.BUFFERPOOLS 目錄表中該緩沖池的 NPAGES 值為 -1 時(shí),DB2 數(shù)據(jù)庫(kù)配置參數(shù) BUFFPAGE 控制著緩沖池的大小。否則會(huì)忽略 BUFFPAGE 參數(shù),并且用 NPAGES 參數(shù)所指定的頁(yè)數(shù)創(chuàng)建緩沖池。

建議
對(duì)于僅使用一個(gè)緩沖池的應(yīng)用程序,將 NPAGES 更改成 -1,這樣 BUFFPAGE 就可以控制該緩沖池的大小。這使得更新和報(bào)告緩沖池大小以及其它 DB2 數(shù)據(jù)庫(kù)配置參數(shù)變得更加方便。

確??梢允褂脭?shù)據(jù)庫(kù)配置中的 BUFFPAGE 參數(shù)來控制緩沖池大小之后,將該參數(shù)設(shè)置成合適的值。根據(jù)數(shù)據(jù)庫(kù)的大小和應(yīng)用程序的性質(zhì)將該參數(shù)設(shè)置成一個(gè)合理的大值,這種做法很安全。通常,該參數(shù)的缺省值非常小,可能滿足不了要求。請(qǐng)考慮下列情況:


一開始,如果您的機(jī)器上有足夠大的內(nèi)存,請(qǐng)將 BUFFPAGE 設(shè)置成 40000 個(gè)頁(yè)(160 MB),或者等于機(jī)器總內(nèi)存的 10%。 
對(duì)于大型 OLTP 數(shù)據(jù)庫(kù),在保持系統(tǒng)穩(wěn)定的同時(shí)為緩沖池留出盡可能多的內(nèi)存。一開始,先嘗試使用 1.6 GB 的內(nèi)存,然后嘗試用更多內(nèi)存。 

如何更改該參數(shù)
運(yùn)行下面這個(gè)腳本,以便: 

驗(yàn)證目錄值 
啟用數(shù)據(jù)庫(kù)配置參數(shù) BUFFPAGE 
更新所有數(shù)據(jù)庫(kù)的 BUFFPAGE 值。 
db2 -v connect to DB_NAME
db2 -v select * from syscat.bufferpools
db2 -v alter bufferpool IBMDEFAULTBP size -1
db2 -v connect reset
db2 -v update db cfg for dbname using BUFFPAGE bigger_value
db2 -v terminate

研究步驟
要確定數(shù)據(jù)庫(kù)的緩沖池大小是否由 BUFFPAGE 參數(shù)所決定,請(qǐng)運(yùn)行:


db2 -v connect to DB_NAME
db2 -v SELECT * from SYSCAT.BUFFERPOOLS
db2 -v connect reset
db2 -v terminate


檢查結(jié)果。如果每個(gè)緩沖池都有一個(gè)為“-1”的 NPAGES 值,那么緩沖池大小是由數(shù)據(jù)庫(kù)配置中的 BUFFPAGE 參數(shù)控制的。

要確定緩沖池大小是否足夠大,請(qǐng)?jiān)谶\(yùn)行應(yīng)用程序時(shí)收集數(shù)據(jù)庫(kù)和/或緩沖池的快照。類似于下面的腳本為您提供這些所需的信息:


db2 -v update monitor switches using bufferpool on
db2 -v get monitor switches
db2 -v reset monitor all

-- run your application --
db2 -v get snapshot for all databases > snap.out
db2 -v get snapshot for dbm >> snap.out
db2 -v get snapshot for all bufferpools >> snap.out
db2 -v reset monitor all
db2 -v terminate


請(qǐng)確保您在斷開數(shù)據(jù)庫(kù)連接之前發(fā)出“db2 -v get snapshot”。當(dāng)最后一個(gè)應(yīng)用程序與數(shù)據(jù)庫(kù)斷開連接時(shí),該數(shù)據(jù)庫(kù)停止運(yùn)行,同時(shí)所有快照統(tǒng)計(jì)信息將會(huì)丟失。要確保一直存在使數(shù)據(jù)庫(kù)處于正常運(yùn)行狀態(tài)的連接,請(qǐng)使用下列方法之一:


在收集快照的窗口中保持一個(gè)單獨(dú)的連接。 
使用 DB2 ACTIVATE DATABASE 命令。

在數(shù)據(jù)庫(kù)快照或緩沖池快照的快照輸出中,查找下列“logical reads”和“physical reads”,這樣就可以計(jì)算出緩沖池命中率,它可以幫助您調(diào)優(yōu)緩沖池:


-- Related lines from a sample of bufferpool snapshots --
Buffer pool data logical reads = 702033
Buffer pool data physical reads = 0
Buffer pool data writes = 414
Buffer pool index logical reads = 168255
Buffer pool index physical reads = 0


緩沖池命中率表明數(shù)據(jù)庫(kù)管理器不需要從磁盤裝入頁(yè)(即該頁(yè)已經(jīng)在緩沖池中)就能處理頁(yè)請(qǐng)求的時(shí)間百分比。緩沖池的命中率越高,使用磁盤 I/O 的頻率就越低。按如下計(jì)算緩沖池命中率:


(1 - ((buffer pool data physical reads + buffer pool index physical reads) /
(buffer pool data logical reads + pool index logical reads))
) * 100%


這個(gè)計(jì)算考慮了緩沖池高速緩存的所有頁(yè)(索引和數(shù)據(jù))。理想情況下,該比率應(yīng)當(dāng)超過 95%,并盡可能接近 100%。要提高緩沖池命中率,請(qǐng)嘗試下面這些方法:


增加緩沖池大小。 
考慮分配多個(gè)緩沖池,如果可能的話,為每個(gè)經(jīng)常被訪問的大表所屬的表空間分配一個(gè)緩沖池,為一組小表分配一個(gè)緩沖池,然后嘗試一下使用不同大小的緩沖池以查看哪種組合會(huì)提供最佳性能。 

如果已分配的內(nèi)存不能幫助提高性能,那么請(qǐng)避免給緩沖池分配過多的內(nèi)存。應(yīng)當(dāng)根據(jù)取自測(cè)試環(huán)境的快照信息來決定緩沖池的大小。

緩沖池命中率

這個(gè)比率說明了為頁(yè)面請(qǐng)求提供服務(wù)時(shí),數(shù)據(jù)庫(kù)管理器不需從磁盤裝入頁(yè)(即該頁(yè)已經(jīng)在緩沖池中)就能處理頁(yè)請(qǐng)求的時(shí)間百分比。

計(jì)算:

BPHR = (1 - ((緩沖池?cái)?shù)據(jù)物理讀 + 緩沖池索引物理讀) /

(緩沖池?cái)?shù)據(jù)邏輯讀 + 緩沖池索引邏輯讀) ) ) * 100%

索引命中率

這個(gè)比率表明了可以在緩沖池中找到的頁(yè)面能夠滿足的對(duì)索引頁(yè)的所有讀請(qǐng)求所占的百分比。

計(jì)算:

IHR = (1 - (緩沖池索引物理讀 / 緩沖池索引邏輯讀) ) ) * 100%

數(shù)據(jù)命中率

這個(gè)比率說明了可以在緩沖池中找到的頁(yè)面能夠滿足的對(duì)數(shù)據(jù)頁(yè)的所有讀請(qǐng)求所占的百分比。

計(jì)算:

DHR = (1 - (緩沖池?cái)?shù)據(jù)物理讀 / 緩沖池?cái)?shù)據(jù)邏輯讀) ) ) * 100%

結(jié)論

緩沖池命中率大于 80% 被認(rèn)為是理想的。對(duì)于 OLTP 系統(tǒng)來說,該值的理想情況是盡可能接近于 100% (索引命中率更是如此)。

要提高緩沖池的命中率,可以增加緩沖池的大小,也可以考慮分配多個(gè)緩沖池,可以為每個(gè)經(jīng)常訪問的具有自己的表空間的大型表使用一個(gè)緩沖池,也可以為一組小型表使用一個(gè)緩沖池。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶 評(píng)論公約

    類似文章 更多

    免费在线观看激情小视频 | 欧美一区二区三区不卡高清视| 黄色美女日本的美女日人| 儿媳妇的诱惑中文字幕| 欧美午夜视频免费观看| 久久热麻豆国产精品视频| 欧美日韩亚洲国产av| 欧美一级黄片欧美精品| 风间中文字幕亚洲一区| 日韩精品免费一区二区三区| 亚洲美女国产精品久久| 一区二区不卡免费观看免费| 免费播放一区二区三区四区| 欧美美女视频在线免费看| 亚洲国产天堂av成人在线播放| 情一色一区二区三区四| 日本亚洲精品在线观看| 男人操女人下面国产剧情| 久草国产精品一区二区| 亚洲精品中文字幕在线视频| 白丝美女被插入视频在线观看| 日韩欧美国产三级在线观看| 免费观看在线午夜视频| av中文字幕一区二区三区在线| 99久热只有精品视频免费看| 尤物久久91欧美人禽亚洲| 久久精品国产亚洲av久按摩| 色婷婷激情五月天丁香| 国产极品粉嫩尤物一区二区| 久久婷婷综合色拍亚洲| 色婷婷久久五月中文字幕| 一级片二级片欧美日韩| 日韩国产亚洲欧美激情| 久热香蕉精品视频在线播放| 99热九九热这里只有精品| 亚洲一区二区三在线播放 | 高清欧美大片免费在线观看| 免费一区二区三区少妇| 日本高清不卡一二三区| 黄色国产精品一区二区三区| 国产精品不卡高清在线观看|