• <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 閱讀(725) 評論(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国产亚洲高清观看首页| 久久91精品综合国产首页| 国产毛片久久久久久国产毛片| 国产成人久久777777| 久久99热这里只有精品国产| 99久久99久久| 久久久久久精品无码人妻| 久久国产成人精品麻豆| 久久久久精品国产亚洲AV无码| 久久久久人妻精品一区二区三区| 久久国产视频99电影| 99久久99这里只有免费费精品| 免费精品久久久久久中文字幕| 久久丫精品国产亚洲av不卡| 日韩中文久久| 国产精品免费久久久久电影网| 欧美精品乱码99久久蜜桃| 精品久久人人爽天天玩人人妻| 无码国内精品久久人妻| 手机看片久久高清国产日韩| 18岁日韩内射颜射午夜久久成人| 漂亮人妻被中出中文字幕久久| 久久99精品久久久久久噜噜| 久久久久夜夜夜精品国产| 亚洲成色WWW久久网站| 亚洲午夜久久久| 理论片午午伦夜理片久久 | 久久久久久极精品久久久| 国产高潮国产高潮久久久| 久久综合亚洲色HEZYO社区 | 欧美熟妇另类久久久久久不卡| 奇米影视7777久久精品人人爽| 久久亚洲国产精品五月天婷| 久久精品无码一区二区app| 久久久久久噜噜精品免费直播| 久久婷婷国产麻豆91天堂| 天天久久狠狠色综合| 亚洲国产二区三区久久| 97超级碰碰碰碰久久久久| 精品久久久无码中文字幕|