Oracle效能測量體系(Execute Time)

sunsapollos發表於2013-11-05
      在資料庫處理時間響應中,一般來說Execute處理階段是消耗資源的大戶,也是消耗時間的主體部分。特別在批處理系統,沒有人去關心parse time的微薄消耗。

      Execute RT:=  Execute CPU Time + Execute Queue TIme
                        :=  SQL Elapase + PLSQL Elapse + Java Elapse
                        := DB time - Parse Time - Connect Time
                        := (DB CPU - Parse CPU) + Execute Queue Time

     Execute階段基本涉及buffer pool,disk,部分會涉及到row cache 和shared pool,相對而言比較parse而言會複雜一些。

    在執行階段,LIO和PIO是極好的吞吐量指標,LIO/s表示系統的執行壓力。RT Per LIO,每個Per LIO的響應時間則表示每個LIO的響應時間成本, 而LIO/rows,也就是獲取每行需要多少個LIO和PIO則是基本衡量執行階段是否消耗過多資源的一個基本判斷。

    時間響應中:無論是System,Session還是SQL,時間響應部分Oracle都做了相對完善的採集,我們只要引用即可。
   
    Execute階段主要的Queue Time:   
    cache buffer chain
    buffer busy waits
   
    為了使Execute高效運轉,我們首選需要保證參與的各個部件工作正常,相關指標基本可以表示相關部件的正常與否:

    Execute CPU/LIO:每個LIO的CPU消耗時間,必須保證其處於CPU和記憶體系統的正常執行範疇之內。任何其他值都表示CPU和記憶體系統異常或者可能性的CPU季度繁忙。
    CPU ratio,CPU Queue,Memory swap:這兩個指標和Execute CPU/LIO保證CPU和相關記憶體系統是正常運作的。
    free buffer waits:該指標保證buffer cache的大小是被保障的。

    RT/PIO:該指標表示磁碟系統是正常的,任何超過磁碟正常處理能力的值都表示磁碟系統異常,可能是硬體問題,配置問題或者負載壓力過大。
    磁碟系統的輔助性指標:IO ratio,IO Queue, IO Serv time,IO Wait TIme

  降低Execute Time主要從以下幾點考慮:
   (1)、首先要保證涉及部件執行正常,如果不正常,則做響應調整。
  (2)、如果LIO和PIO均在正常範疇之內,表明Concurrent Queue或者某個部件出現問題,可以通過降低衝突的思路方向進行。
  (3)、如果LIO或者PIO已經超越正常範疇,達到效能突變曲線,則需要降低LIO或者PIO。

   基於LIO的吞吐量響應曲線衡量,可以使我們簡單的通過觀察相關指標獲得優化方向,大方向正確了,達到優化目標就不遠了。
  

  

    

    

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

相關文章