• <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++博客 :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

            DB2 緩沖池調優Bufferpools

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

            DB2 緩沖池調優Bufferpools


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

            緩沖池命中率

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

            計算:

            BPHR = (1 - ((緩沖池數據物理讀 + 緩沖池索引物理讀) /

            (緩沖池數據邏輯讀 + 緩沖池索引邏輯讀) ) ) * 100%

            索引命中率

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

            計算:

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

            數據命中率

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

            計算:

            DHR = (1 - (緩沖池數據物理讀 / 緩沖池數據邏輯讀) ) ) * 100%

            結論

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

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

            久久国产精品99久久久久久老狼| 久久精品三级视频| 亚洲精品无码久久久久sm| 亚洲人成电影网站久久| 久久久久se色偷偷亚洲精品av| 性做久久久久久久| 国产精品免费看久久久香蕉| 亚洲欧美国产日韩综合久久| 亚洲午夜久久久影院| 久久久久成人精品无码| 亚洲一区精品伊人久久伊人 | 久久国产精品成人片免费| 久久综合九色综合精品| 国产精品亚洲综合久久| 久久久综合九色合综国产| 国产99久久久国产精品小说| 91亚洲国产成人久久精品| 国产精品久久久久久五月尺| 亚洲综合精品香蕉久久网97| 亚洲欧美日韩久久精品第一区| 91精品国产91热久久久久福利| 2020久久精品亚洲热综合一本| 国产AV影片久久久久久| 久久天天躁狠狠躁夜夜96流白浆| 欧洲性大片xxxxx久久久| 精品久久久久久| 久久精品亚洲精品国产色婷 | 久久夜色精品国产噜噜亚洲AV| 精品久久国产一区二区三区香蕉 | 国内精品伊人久久久久网站| 久久精品国产日本波多野结衣| 久久久久无码专区亚洲av| 2020久久精品国产免费| 亚洲精品国精品久久99热一| 欧美伊人久久大香线蕉综合| 亚洲第一永久AV网站久久精品男人的天堂AV | .精品久久久麻豆国产精品| 久久亚洲欧美国产精品| 国产69精品久久久久久人妻精品| 一级A毛片免费观看久久精品| 少妇人妻综合久久中文字幕|