Oracle效能測量體系

sunsapollos發表於2013-10-31
  
    吞吐量曲線的兩個基本點:吞吐量和響應時間,所有的Oracle效能測量體系都由這兩個指標派生而來。

    響應時間: 每個LIO的響應時間
                     
     RT:= Client Time + Network Time + DB Time
     RT: 響應時間

客戶端處理和網路處理測量指標:    
     Client Time: 客戶端處理時間
     Network Time:網路傳輸和延遲時間,包含放置到緩衝區的時間和實際的傳輸時間    
      CLient Time + Network Time:= SQL*Net message from client(db link)
                                                      + SQL*Net message to client(db link)
                                                      + SQL*Net more data to client(db link)
                                                      + SQL*Net more data from client(db link)
      SQL*Net message to client:放置到緩衝區的時間
      SQL*Net more data from client:從網路緩衝區等待接收資料的時間
      SQL*Net more data to client:放置資料到緩衝區的時間
    
      SQL*Net roundtrip: 每個LIO需要多少次網路來回。   
    
      假設網路傳輸可以保持穩定:
     Network Time: = Network transfertime * 2+   SQL*Net message to client(db link) +  SQL*Net more data to client(db link)

     Client Time:= SQL*Net message from client(db link) - Network Time

DB Time的處理:
     DB Time:= DB time,資料庫處理每個LIO的時間
     DB Time:= Parse Time + Execute Time + Commit Time
     Parse Time:        資料庫處理每個LIO的parse時間
     Execute Time:  資料庫處理每個LIO的Execute時間
     Commit Time:   資料庫處理每個LIO的commit Time

     事實上到這裡大家可以發現,LIO對於Execute是一個很好的指標,但是對於Parse和Commit並不是一個很好的指標,我們可以發現問題在這裡的時候尋求更好的吞吐量指標。  

     DB Time:= CPU time + Queue Time
     Parse Time:= Parse CPU Time + Parse Queue Time
     Execute Time:= Execute CPU Time + Execute Queue Time
     Commit Time:= Commit Service Time + Commit Queue Time

     CPU time:資料庫處理每個LIO的服務時間
CPU time的處理:    
     CPU Limited Time: 每次LIO的正常最大CPU消耗時間(理論值或者經驗理論值),趨近於該理論值,說明配置不當或者CPU極度緊張。這個點事實上就是CPU和記憶體系統本身的裝置吞吐量曲線的可接受點。該值一般來說是保持相對穩定的。
     CPU Time < CPU Limited Time
     CPU Time體現了CPU資源和記憶體資源的供給能力,在資源保障適當的前提下,CPU Time總是可以保持合適的範疇,相對變化比較平緩。
   
     CPU Time的影響因子:
          OS CPU utility
          OS CPU Queue length
          OS memory swap
          LIO Number

     Queue Time:= IO Queue Time + Concurreny Queue Time + Other Queue Time
     Queue Time:資料庫處理每個LIO的等待時間

Queue Time的處理:
      Queue Time:Oracle處理每個LIO的等待時間
      Oracle對於Queue Time,本身已經有很好的區分機制。     
      Concurrency
      User I/O
      System I/O
      Administrative
      Other
      Configuration
      Scheduler
      Cluster
      Application
      Queueing
       Idle
       Network
       Commit

IO Queue Time的處理:
      IO Queue Time:資料庫處理IO等待作業系統返回響應的時間
      IO Queue Time的響應取決於IO資源的供給
    
      IO Limited Time:IO系統可接受的IO響應時間的範疇,超過該值一般意味著IO負載過大或者IO子系統配置不當或者IO子系統故障。
       為了更好的衡量IO Queue Time可以建立IO Queue Time和PIO之間的吞吐量曲線。

     IO Queue Time: = IO Service Time + IO Wait Time
           
     IO Queue Time:
          db file sequence read
          db file scatter read
     IO Queue Time的影響因子:
          OS IO Wait
          OS IO Serv
          OS IO utility
          OS IO Queue
          PIO Number
     
   
    
     

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

相關文章