• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            Prayer

            在一般中尋求卓越
            posts - 1256, comments - 190, trackbacks - 0, articles - 0
              C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

            DB2 緩沖池調(diào)優(yōu)Bufferpools

            Posted on 2019-06-24 10:09 Prayer 閱讀(726) 評(píng)論(0)  編輯 收藏 引用 所屬分類: DB2
            https://blog.csdn.net/liujinwei2005/article/details/8547190

            DB2 緩沖池調(diào)優(yōu)Bufferpools


            背景知識(shí)
            緩沖池是內(nèi)存中的一塊存儲(chǔ)區(qū)域,用于臨時(shí)讀入和更改數(shù)據(jù)庫頁(包含表行或索引項(xiàng))。緩沖池的用途是為了提高數(shù)據(jù)庫系統(tǒng)的性能。從內(nèi)存訪問數(shù)據(jù)要比從磁盤訪問數(shù)據(jù)快得多。因此,數(shù)據(jù)庫管理器需要從磁盤讀取或?qū)懭氪疟P的次數(shù)越少,性能就越好。對一個(gè)或多個(gè)緩沖池進(jìn)行配置之所以是調(diào)優(yōu)的最重要方面,是因?yàn)檫B接至數(shù)據(jù)庫的應(yīng)用程序的大多數(shù)數(shù)據(jù)(不包括大對象和長字段數(shù)據(jù))操作都在緩沖池中進(jìn)行。
            缺省情況下,應(yīng)用程序使用緩沖池 IBMDEFAULTBP,它是在創(chuàng)建數(shù)據(jù)庫時(shí)創(chuàng)建的。當(dāng) SYSCAT.BUFFERPOOLS 目錄表中該緩沖池的 NPAGES 值為 -1 時(shí),DB2 數(shù)據(jù)庫配置參數(shù) BUFFPAGE 控制著緩沖池的大小。否則會(huì)忽略 BUFFPAGE 參數(shù),并且用 NPAGES 參數(shù)所指定的頁數(shù)創(chuàng)建緩沖池。
            建議
            對于僅使用一個(gè)緩沖池的應(yīng)用程序,將 NPAGES 更改成 -1,這樣 BUFFPAGE 就可以控制該緩沖池的大小。這使得更新和報(bào)告緩沖池大小以及其它 DB2 數(shù)據(jù)庫配置參數(shù)變得更加方便。
            確保可以使用數(shù)據(jù)庫配置中的 BUFFPAGE 參數(shù)來控制緩沖池大小之后,將該參數(shù)設(shè)置成合適的值。根據(jù)數(shù)據(jù)庫的大小和應(yīng)用程序的性質(zhì)將該參數(shù)設(shè)置成一個(gè)合理的大值,這種做法很安全。通常,該參數(shù)的缺省值非常小,可能滿足不了要求。請考慮下列情況:
            一開始,如果您的機(jī)器上有足夠大的內(nèi)存,請將 BUFFPAGE 設(shè)置成 40000 個(gè)頁(160 MB),或者等于機(jī)器總內(nèi)存的 10%。 
            對于大型 OLTP 數(shù)據(jù)庫,在保持系統(tǒng)穩(wěn)定的同時(shí)為緩沖池留出盡可能多的內(nèi)存。一開始,先嘗試使用 1.6 GB 的內(nèi)存,然后嘗試用更多內(nèi)存。 
            如何更改該參數(shù)
            運(yùn)行下面這個(gè)腳本,以便: 
            驗(yàn)證目錄值 
            啟用數(shù)據(jù)庫配置參數(shù) BUFFPAGE 
            更新所有數(shù)據(jù)庫的 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ù)庫的緩沖池大小是否由 BUFFPAGE 參數(shù)所決定,請運(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ù)庫配置中的 BUFFPAGE 參數(shù)控制的。
            要確定緩沖池大小是否足夠大,請?jiān)谶\(yùn)行應(yīng)用程序時(shí)收集數(shù)據(jù)庫和/或緩沖池的快照。類似于下面的腳本為您提供這些所需的信息:
            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
            請確保您在斷開數(shù)據(jù)庫連接之前發(fā)出“db2 -v get snapshot”。當(dāng)最后一個(gè)應(yīng)用程序與數(shù)據(jù)庫斷開連接時(shí),該數(shù)據(jù)庫停止運(yùn)行,同時(shí)所有快照統(tǒng)計(jì)信息將會(huì)丟失。要確保一直存在使數(shù)據(jù)庫處于正常運(yùn)行狀態(tài)的連接,請使用下列方法之一:
            在收集快照的窗口中保持一個(gè)單獨(dú)的連接。 
            使用 DB2 ACTIVATE DATABASE 命令。
            在數(shù)據(jù)庫快照或緩沖池快照的快照輸出中,查找下列“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ù)庫管理器不需要從磁盤裝入頁(即該頁已經(jī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ì)算考慮了緩沖池高速緩存的所有頁(索引和數(shù)據(jù))。理想情況下,該比率應(yīng)當(dāng)超過 95%,并盡可能接近 100%。要提高緩沖池命中率,請嘗試下面這些方法:
            增加緩沖池大小。 
            考慮分配多個(gè)緩沖池,如果可能的話,為每個(gè)經(jīng)常被訪問的大表所屬的表空間分配一個(gè)緩沖池,為一組小表分配一個(gè)緩沖池,然后嘗試一下使用不同大小的緩沖池以查看哪種組合會(huì)提供最佳性能。 
            如果已分配的內(nèi)存不能幫助提高性能,那么請避免給緩沖池分配過多的內(nèi)存。應(yīng)當(dāng)根據(jù)取自測試環(huán)境的快照信息來決定緩沖池的大小。

            緩沖池命中率

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

            計(jì)算:

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

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

            索引命中率

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

            計(jì)算:

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

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

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

            計(jì)算:

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

            結(jié)論

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

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

            久久99国产精品久久99果冻传媒| 久久99精品久久久久久秒播 | 亚洲香蕉网久久综合影视 | 久久综合九色综合网站| 久久99久国产麻精品66| 国产精品美女久久久| 久久这里只有精品视频99| 99久久做夜夜爱天天做精品| 国内精品久久久久久99蜜桃| 久久精品中文字幕一区| 久久综合给合久久狠狠狠97色69 | 久久99国产精品久久99果冻传媒| 久久精品国产亚洲精品| 久久99国产乱子伦精品免费| 韩国三级中文字幕hd久久精品| 亚洲国产精品无码久久SM| 国产午夜精品久久久久九九| 久久婷婷五月综合色高清| 久久丝袜精品中文字幕| 国产精品久久成人影院| 日韩精品久久无码人妻中文字幕| 亚洲天堂久久精品| 久久精品www人人爽人人| 综合久久精品色| 久久久精品国产亚洲成人满18免费网站| 久久久久亚洲AV片无码下载蜜桃| 久久av高潮av无码av喷吹| 国产精品99久久免费观看| 色婷婷综合久久久久中文一区二区| 久久久久久久综合日本| 国产一区二区精品久久岳| 亚洲国产成人久久精品动漫| 国产精品福利一区二区久久| 久久婷婷五月综合色高清| 亚洲精品乱码久久久久久蜜桃不卡| 亚洲国产高清精品线久久| 久久亚洲av无码精品浪潮| 久久精品无码免费不卡| 99久久精品国产一区二区三区 | 粉嫩小泬无遮挡久久久久久| 久久99精品久久久大学生|