DB2 V9配置顧問程式(五)

rheet1978發表於2008-07-01

        從清單9我們可以看到,配置顧問程式主要對示例資料庫DB2TEST2做了以下修改:

  • 目錄快取記憶體大小(4KB)(CATALOGCACHE_SZ)配置引數

              由MAXAPPLS*4根據建議值改成了80。

  • 日誌緩衝區大小(4KB)(LOGBUFSZ)配置引數

              由8根據建議值改成了30。

  • 已更改頁數的閾值(CHNGPGS_THRESH)配置引數

             由80根據建議值改成了80,此值是百分比。

  • 日誌檔案大小(4KB)(LOGFILSIZ)配置引數
    由1000根據建議值改成了1024。
  • 主日誌檔案的數目(LOGPRIMARY)配置引數

              由3根據建議值改成了13。

  • 輔助日誌檔案的數目(LOGSECOND)配置引數

              由2根據建議值改成了4。

  • 軟檢查點前回收的日誌檔案的百分比(SOFTMAX)配置引數

             由100根據建議值改成了520。

      

        為了幫助大家理解,接下來我們分別簡要介紹一下這幾個引數的含義,具體如下:

  • 目錄快取記憶體大小(4KB)(CATALOGCACHE_SZ)配置引數
此引數是在資料庫共享記憶體外分配的,並且用於快取記憶體系統目錄資訊。在分割槽資料庫系統中,每個資料庫分割槽都有一個目錄快取記憶體。快取記憶體各個資料庫分割槽中的目錄資訊允許資料庫管理器不需要訪問系統目錄(或分割槽資料庫環境中的目錄節點)來獲取先前檢測的資訊,從而降低其內部開銷。目錄快取記憶體用來儲存:

Ø         SYSTABLES資訊(包括壓縮的描述符)

Ø         授權資訊,包括例程的SYSDBUOTH資訊和EXECUTE特權

Ø         SYSROUTINES資訊

        使用目錄快取記憶體可以幫助提高下列各項的整體效能:

Ø         繫結程式包和編譯 SQL 和 EXERY 語句

Ø         涉及檢查資料庫級別特權的操作

Ø         涉及檢查例程的 EXECUTE 特權的操作

Ø         連線至分割槽資料庫環境中的非目錄節點的應用程式

        通過採用伺服器或分割槽資料庫環境中的預設值(-1),用來計算頁分配的值是為 MAXAPPLS配置引數指定的值的四倍。如果 MAXAPPLS的四倍小於 8 則出現異常。在此情況下,預設值 –1 會將CATALOGCACHE_SZ設定為 8。我們通常都是開始使用預設值,並使用資料庫系統監視器來調整它。當調整此引數時,應考慮如果為目錄快取記憶體保留的額外記憶體是為另一目的分配的(如緩衝池或程式包快取記憶體),它是否會更有效。如果工作負載涉及在短時間內編譯許多 SQL 或 XQUERY,且其後很少或不進行編譯,則調整此引數尤其重要。如果快取記憶體太大,則記憶體可能會因保留不再使用的資訊的副本而造成浪費。在分割槽資料庫環境中,考慮是否需要將目錄節點上的 CATALOGCACHE_SZ設定為更大的值,因為非目錄節點上要求的目錄資訊將總是首先在目錄節點上快取記憶體。CAT_CACHE_LOOKUPS(目錄快取記憶體查詢)、CAT_CACHE_INSERTS(目錄快取記憶體插入)、CAT_CACHE_OVERFLOWS(目錄快取記憶體溢位)和 CAT_CACHE_SIZE_TOP(目錄快取記憶體高水位標記)監視元素將幫助您確定是否應調整此配置引數。需要注意的是,目錄快取記憶體在分割槽資料庫環境中的所有節點上存在。因為每個節點都有本地資料庫配置檔案,所以每個節點的 CATALOGCACHE_SZ 值定義本地目錄快取記憶體的大小。為了提供足夠的快取記憶體並避免溢位情況的發生,需要在每個節點上顯式設定 CATALOGCACHE_SZ 值,並考慮將非目錄節點上的 CATALOGCACHE_SZ設定為比在目錄節點上的該值小的可能性;記住將從目錄節點的快取記憶體中檢索需要在非目錄節點快取記憶體的資訊。因此,在非目錄節點的目錄快取記憶體就像目錄節點上的目錄快取記憶體中的資訊的子集。通常情況下,如果工作單元包含幾個動態 SQL 或 XQUERY 語句或如果正在繫結包含許多靜態 SQL 或 XQUERY 語句的程式包,則需要較多的快取記憶體空間。

  • 日誌緩衝區大小(4KB)(LOGBUFSZ)配置引數
        在將日誌記錄寫入磁碟之前,此引數允許您指定用作日誌記錄的緩衝區的資料庫堆疊的容量(由 DBHEAP 引數定義)。當發生下列一種情況時會將日誌記錄寫入磁碟:

Ø         一個事務落實或一組事務落實,由 mincommit 配置引數定義

Ø         日誌緩衝區已滿

Ø         發生了某些其他內部資料庫管理器事件。

        此引數也必須小於或等於 DBHEAP 引數。緩衝日誌記錄將使日誌記錄檔案 I/O 更有效,因為將日誌記錄寫入磁碟的頻率越低,則每次可寫入的日誌記錄就越多。如果在專用的日誌磁碟上有大量的讀取活動,或者頻繁使用磁碟,則要增大此緩衝區的大小。當增大此引數的值時,您也應考慮DBHEAP引數,因為該日誌緩衝區使用由DBHEAP引數控制的空間。可以使用資料庫系統監視器來確定將多少日誌緩衝區空間用於特定事務(或工作單元),在資料庫系統監視器中使用LOG_SPACE_USED(使用的工作單元日誌空間)監視元素。

  • 已更改頁數的閾值(CHNGPGS_THRESH)配置引數

        非同步頁清除程式在資料庫代理程式需要緩衝池中的空間之前將更改的頁從緩衝池中寫入磁碟。因此,資料庫代理程式應該不必等待寫出已更改的頁,它們也能使用緩衝池中的空間。這提高了資料庫應用程式的整體效能。可以使用此引數指定更改的頁的級別(百分比),如果非同步頁清除程式當前不活動,則將從該級別啟動。當啟動頁清除程式時,頁清除程式將構建要寫入磁碟的頁的列表。一旦頁清除程式已將這些頁寫入磁碟,則將再次變為不活動的,並等待下一個觸發器來啟動。在只讀(例如,查詢)環境中,不使用這些頁清除程式。當設定了 DB2_USE_ALTERNATE_PAGE_CLEANING 登錄檔變數時(即,使用了進行頁清理的另一種方法,此變數設定為“ON”),CHNGPGS_THRESH引數將不起作用,DB2將自動確定在緩衝池中要維護多少髒頁。對於具有繁重的更新事務工作負載的資料庫,您通常可以將該引數值設定為等於或小於預設值,以確保在緩衝池中有足夠的乾淨頁。如果資料庫有少量很大的表,則大於預設值的百分比有助於提高效能。

  • 日誌檔案大小(4KB)(LOGFILSIZ)配置引數

        此引數定義每個主日誌檔案和輔助日誌檔案的大小。在這些日誌檔案已滿且需要新日誌檔案之前,這些日誌檔案的大小限制可寫入這些日誌檔案的日誌記錄數。主日誌檔案和輔助日誌檔案的使用以及在日誌檔案已滿時進行的操作取決於正在執行的日誌記錄的型別。當其是迴圈日誌記錄時,在記錄在主日誌檔案中的更改已落實後,可複用該主日誌檔案。如果日誌檔案大小較小,並且應用程式已處理了大量對資料庫的更改但未落實這些更改,主日誌檔案可能會很快變滿。如果所有主日誌檔案變滿,則資料庫管理器將分配輔助日誌檔案來儲存新的日誌記錄。而使用歸檔日誌記錄模式時,在主日誌檔案已滿時,將該日誌歸檔並分配新的主日誌檔案。

  • 主日誌檔案的數目(LOGPRIMARY)配置引數
        主日誌檔案建立分配給恢復日誌檔案的固定儲存器數量。此引數允許您指定要預分配的主日誌檔案數。在迴圈日誌記錄下,按順序重複使用主日誌。即,當日志已滿時,使用序列中的下一個主日誌(如果該主日誌可用)。如果已落實或回滾日誌中具有日誌記錄的所有工作單元,則認為該日誌是可用的。如果序列中下一個主日誌不可用,則分配並使用一個輔助日誌。分配並使用附加的輔助日誌,直到序列中下一個主日誌變為可用或達到 LOGSECOND 引數所設定的限制為止。當資料庫管理器不再需要這些輔助日誌檔案時,動態釋放這些輔助日誌檔案。主日誌檔案和輔助日誌檔案的數目必須與下列內容一致,如果LOGSECOND的值為 –1,則 LOGPRIMARY 小於等於 256。 如果LOGSECOND的值不是 –1,則(LOGPRIMARY+LOGSECOND) 小於等於 256。為此引數選擇的值取決於許多因素,包括正在使用的日誌記錄型別、日誌檔案的大小和處理環境的型別(例如,事務的長度和落實的頻率)。增大此值將增大日誌的磁碟需求,因為主日誌檔案就是在第一個與資料庫的連線期間預分配的。如果您發現經常分配輔助日誌檔案,則可能可以通過增大日誌檔案大小(LOGFILSIZ)或增大主日誌檔案的數目來提高系統效能。對於不經常訪問的資料庫,為了節省磁碟儲存空間,將該引數設定為 2。對於為前滾恢復而啟用的資料庫,將此引數設定得大一些,以避免幾乎立即就分配新日誌的開銷。可以使用資料庫系統監視器來幫助您確定主日誌檔案的大小。在一段時間內對下列監視器值的觀察將有助於更好的調整決定,因為平均值更能代表當前需求。

Ø         SEC_LOG_USED_TOP(使用的最大輔助日誌空間)

Ø         TOT_LOG_USED_TOP(使用的總日誌空間)

Ø         SEC_LOGS_ALLLOCATED(當前分配的輔助日誌)

 

  • 輔助日誌檔案的數目(LOGSECOND)配置引數

        此引數指定(僅需要時)建立並用於恢復日誌檔案的輔助日誌檔案的數目。當主日誌檔案已滿時,可按需要一次分配一個輔助日誌檔案(大小為 LOGFILSIZ),最多可分配此引數控制的最大數目。如果需要的輔助日誌檔案數超過此引數所允許的數,則將返回錯誤程式碼至該應用程式,並將關閉該資料庫。如果將 LOGSECOND設定為 –1,則資料庫將配置為具有無限活動日誌空間。對在此資料庫上執行的未完成事務的大小和數目沒有限制。如果將LOGSECOND設定為 –1,則仍使用LOGPRIMARY和 LOGFILSIZ 配置引數來指定DB2應在活動日誌路徑中保留多少個日誌檔案。如果DB2需要從日誌檔案讀取日誌資料,但該檔案不在活動日誌檔案路徑中,則DB2將呼叫使用者出口程式來將該日誌檔案從壓縮文件檢索至活動日誌路徑。(如果配置了溢位日誌路徑,則 DB2 會將這些檔案檢索至該路徑。)一旦檢索到日誌檔案,DB2將把此檔案快取記憶體在活動日誌路徑中,以便他人從同一檔案讀取日誌資料時可提高速度。DB2將根據需要管理這些日誌檔案的檢索、快取記憶體和除去操作。如果您的日誌路徑是原始裝置,則必須配置 OVERFLOWLOGPATH配置引數以便將LOGSECOND設定為 –1。通過將LOGSECOND設定為 –1,將對工作單元的大小或併發工作單元的數目沒有限制。但是,由於需要從壓縮文件檢索日誌檔案,回滾(在儲存點級別和在工作單元級別)將可能變得很慢。同樣的原因,崩潰恢復也可能變得很慢。DB2會將一條訊息寫入到管理通知日誌,以警告您活動的工作單元的當前集已超出主日誌檔案。此指示回滾或崩潰恢復可能會非常慢。要將LOGSECOND設定為 –1,必須將 LOGARCHMETH1配置引數設定為除OFF 或 LOGRETAIN之外的值。對於定期需要大量日誌空間的資料庫,使用輔助日誌檔案。例如,每月執行一次的應用程式需要的日誌空間可能會超過由主日誌檔案提供的日誌空間。由於輔助日誌檔案不需要永久的檔案空間,所以輔助日誌檔案在這種情況下有優勢。

 

  • 軟檢查點前回收的日誌檔案的百分比(SOFTMAX)配置引數
        此引數用來: 影響在一次崩潰(如電源故障)之後需要恢復的日誌數。例如,如果使用預設值,則資料庫管理器將嘗試把需要恢復的日誌數保持為 1。如果您指定 300 作為此引數的值,則資料庫管理器將嘗試把需要恢復的日誌數保持為 3。 要影響進行崩潰恢復所需要的日誌數,資料庫管理器使用此引數來觸發頁清除程式,以確保比指定的恢復視窗舊的頁都已寫入磁碟。再就是用來確定軟檢查點的頻率。當由於事件(例如,電源故障)造成資料庫故障時,可能會對該資料庫出更改,比如尚未落實,但更新了緩衝池中的資料 、已落實,但尚未從緩衝池寫入磁碟 、已落實並從緩衝池寫入磁碟。當重新啟動某個資料庫時,將使用日誌檔案來執行該資料庫的崩潰恢復,這確保該資料庫處於一致狀態(即,所有已落實的事務都應用於該資料庫而所有未落實的事務都不應用於該資料庫)。要確定需要將日誌檔案中的哪些記錄應用於該資料庫,資料庫管理器使用日誌控制檔案。定期將此日誌控制檔案寫入磁碟,並且根據此事件的頻率,資料庫管理器可能正在應用已落實事務的日誌記錄,或正在應用那些描述已從緩衝池寫入磁碟的更改的日誌記錄。這些日誌記錄對資料庫沒有影響,但應用這些日誌記錄會將一些開銷引入到資料庫重新啟動程式中。當日志檔案已滿時以及在軟檢查點期間,總是將日誌控制檔案寫入磁碟。可使用此配置引數來觸發附加軟檢查點。軟檢查點的定時基於“當前狀態”和“記錄的狀態”之間的差別,該差別以LOGFILSIZ 的百分比給出。“記錄的狀態”由磁碟上日誌控制檔案中指示的最舊的有效日誌記錄確定,而“當前狀態”由記憶體中的日誌控制資訊確定。(最舊的有效日誌記錄是恢復程式將讀取的第一個日誌記錄。)如果下列公式計算的值大於或等於此引數的值,將採用該軟檢查點:

    ( (記錄的狀態和當前狀態之間的空間) / logfilsiz ) *  100

        您可能想增大或減小此引數的值,這取決於您的可接受的恢復視窗是大於還是小於一個日誌檔案。降低此引數的值將導致資料庫管理器不但更經常地觸發頁清除程式而且還更頻繁地採用軟檢查點。這些操作可減少需要處理的日誌記錄數和在崩潰恢復期間處理的冗餘日誌記錄數。但是注意:更多的頁清除程式觸發器和更頻繁的軟檢查點增加了與資料庫日誌記錄相關聯的開銷,這可能會影響資料庫管理器的效能。而且,如果您遇到下列情況,更頻繁的軟檢查點可能不會縮短重新啟動一個資料庫所需的時間: 落實點很少的很長的事務或者很大的緩衝池並且未將包含落實事務的頁很頻繁地寫回至磁碟。(注意,使用非同步頁清除程式可能有助於避免此情況。)在這兩種情況中,保留在記憶體中的日誌控制資訊不頻繁更改,因而在將日誌控制資訊寫入磁碟時不存在優勢,除非日誌控制資訊已更改。

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/9524210/viewspace-366497/,如需轉載,請註明出處,否則將追究法律責任。

相關文章