国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發 > 綜合 > 正文

statspack報告數據結果解釋

2024-07-21 02:07:20
字體:
來源:轉載
供稿:網友

這篇文章來自于oracle中國用戶組(www.oracle.com.cn)的文章,發現對自己學習性能調優很有幫助:

原文鏈接:http://www.cnoug.org/viewthread.php?tid=25353

statspack報告數據結果解釋

本人將最近在學習性能調優時,所用筆記總結如下,歡迎批評指正
本文將不斷更新,歡迎補充。(所列數據僅用于便于說明,沒有實
際意義)

一、statspack 輸出結果中必須查看的十項內容

1、負載間檔(load profile)
2、實例效率點擊率(instance efficiency hit ratios)
3、首要的5個等待事件(top 5 wait events)
4、等待事件(wait events)
5、閂鎖等待
6、首要的sql(top sql)
7、實例活動(instance activity)
8、文件i/o(file i/o)
9、內存分配(memory allocation)
10、緩沖區等待(buffer waits)

二、輸出結果解釋

1、報表頭信息
數據庫實例相關信息,包括數據庫名稱、id、版本號及主機等信息


  quote:statspack report for

db name         db id    instance     inst num release     cluster host
------------ ----------- ------------ -------- ----------- ------- ------------
pormals       3874352951 pormals             1 9.2.0.4.0   no      njlt-server1

            snap id     snap time      sessions curs/sess comment
            ------- ------------------ -------- --------- -------------------
begin snap:     36  18-7月 -04 20:41:02      29      19.2

  end snap:     37  19-7月 -04 08:18:27      24      15.7

   elapsed:                              697.42 (mins)

cache sizes (end)
~~~~~~~~~~~~~~~~~
               buffer cache:       240m      std block size:        8k
           shared pool size:        96m          log buffer:      512k

2、負載間檔
該部分提供每秒和每個事物的統計信息,是監控系統吞吐量和負載變化的重要部分


  quote:load profile
~~~~~~~~~~~~                            per second(秒)      per transaction事物
                                   ---------------       ---------------
                  redo size:                148.46              3,702.15
              logical reads:              1,267.94             31,619.12
              block changes:                  1.01                 25.31
             physical reads:                  4.04                100.66
            physical writes:                  4.04                100.71
                 user calls:                 13.95                347.77
                     parses:                  4.98                124.15
                hard parses:                  0.02                  0.54
                      sorts:                  1.33                 33.25
                     logons:                  0.00                  0.02
                   executes:                  2.46                 61.37
               transactions:                  0.04

  % blocks changed per read:    0.08    recursive call %:                30.38
rollback per transaction %:    0.42       rows per sort:               698.23

說明:
redo size:每秒產生的日志大小(單位字節),可標志數據庫任務的繁重與否
logical reads:平決每秒產生的邏輯讀,單位是block
block changes:每秒block變化數量,數據庫事物帶來改變的塊數量
physical reads:平均每秒數據庫從磁盤讀取的block數
physical writes:平均每秒數據庫寫磁盤的block數
user calls:每秒用戶call次數
parses:每秒解析次數,近似反應每秒語句的執行次數
       軟解析每秒超過300次意味著你的"應用程序"效
       率不高,沒有使用soft soft parse,調整session_cursor_cache
hard parses:每秒產生的硬解析次數
sorts:每秒產生的排序次數
executes:每秒執行次數
transactions:每秒產生的事務數,反映數據庫任務繁重與否

3、實例命中率
該部分可以提前找出oracle潛在將要發生的性能問題,很重要


  quote:instance efficiency percentages (target 100%)
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            buffer nowait %:  100.00       redo nowait %:              100.00
            buffer  hit   %:   99.96    in-memory sort %:               99.14
            library hit   %:   99.53        soft parse %:               99.57
         execute to parse %: -102.31         latch hit %:              100.00
parse cpu to parse elapsd %:   81.47     % non-parse cpu:               96.46

說明:
buffer nowait %:在緩沖區中獲取buffer的未等待比率
redo nowait %:在redo緩沖區獲取buffer的未等待比率
buffer  hit %:數據塊在數據緩沖區中得命中率,通常應在90%以上,否則,需要調整
in-memory sort %:在內存中的排序率
library hit   %:主要代表sql在共享區的命中率,通常在95%以上,否,需要要考慮加
大共享池,綁定變量,修改cursor_sharing等參數。
soft parse %:近似看作sql在共享區的命中率,小于<95%,需要考慮到綁定,如果低于80%,
那么就可能sql基本沒有被重用
execute to parse %:sql語句解析后被重復執行的次數,如果過低,可以考慮設置
session_cached_cursors參數
parse cpu to parse elapsd %:解析實際運行事件/(解析實際運行時間+解析中等待資源時間)
越高越好
% non-parse cpu:查詢實際運行時間/(查詢實際運行時間+sql解析時間),太低表示解析消耗時間過多。


  quote:shared pool statistics        begin   end
                               ------  ------
             memory usage %:   33.79   57.02
    % sql with executions>1:   62.62   73.24
  % memory for sql w/exec>1:   64.55   78.72

shared pool相關統計數據

memory usage %:共享池內存使用率,應該穩定在75%-90%間,太小浪費內存,太大則內存不足。

% sql with executions>1:執行次數大于1的sql比率,若太小可能是沒有使用bind variables。

% memory for sql w/exec>1:也即是memory for sql with execution > 1:執行次數大于1的sql
消耗內存/所有sql消耗的內存

4、首要等待事件


常見等待事件說明:
oracle等待事件是衡量oracle運行狀況的重要依據及指示,主要有空閑等待事件和非空閑等待事件
;空閑等待事件是oracle正等待某種工作,在診斷和優化數據庫時候,不用過多注意這部分事件,
非空閑等待事件專門針對oracle的活動,指數據庫任務或應用程序運行過程中發生的等待,這些等待事件是我們在調整數據庫應該關注的。

比較影響性能常見等待事件
db file scattered read
    該事件通常與全表掃描有關。因為全表掃描是被放入內存中進行的進行的,
通常情況下它不可能被放入連續的緩沖區中,所以就散布在緩沖區的緩存中。該指數的數量過大說明
缺少索引或者限制使用索引。這種情況也可能是正常的,因為執行全表掃描可能比索引掃描效率更高。
當系統存在這些等待時,需要通過檢查來確定全表掃描是否必需的來調整。可以嘗試將較小的表放入
緩存keep中,避免反復讀取它們。
db file sequential read
   該事件說明在單個數據塊上大量等待,該值過高通常是由于表間連接順序很糟糕,或者使用了非選
擇性索引。通過將這種等待與statspack報表中已知其它問題聯系起來(如效率不高的sql),通過檢查確
保索引掃描是必須的,并確保多表連接的連接順序來調整
buffer busy wait
    當緩沖區以一種非共享方式或者如正在被讀入到緩沖時,就會出現該等待.該值不應該大于1%,確認
是不是由于熱點塊造成(如果是可以用反轉索引,或者用更小塊大小)
latch free
    閂鎖是底層的隊列機制(更加準確的名稱應該是互斥機制),用于保護系統全局區(sga)共享內存結構
。閂鎖用于防止對內存結構的并行訪問。如果閂鎖不可用,就會記錄一次閂鎖丟失。絕大多數得閂鎖問題
都與使用綁定變量失敗(庫緩存閂鎖)、生成重作問題(重執行分配閂鎖)、緩存的爭用問題(緩存lru鏈) 以
及緩存的熱數據寬塊(緩存鏈)有關。當閂鎖丟失率高于0.5%時,需要調整這個問題。
log buffer space
    日志緩沖區寫的速度快于lgwr寫redofile的速度,可以增大日志文件大小,增加日志緩沖區的大小,或
者使用更快的磁盤來寫數據。
logfile switch
    通常是因為歸檔速度不夠快,需要增大重做日志
log file sync
    當一個用戶提交或回滾數據時,lgwr將會話得重做操作從日志緩沖區填充到日志文件中,用戶的進程
必須等待這個填充工作完成。為減少這個等待事件,須一次提交更多記錄,或者將重做日志redo log 文件
訪在不同的物理磁盤上。

最大的網站源碼資源下載站,

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 磐安县| 山西省| 平遥县| 新巴尔虎右旗| 石台县| 平江县| 西乌珠穆沁旗| 凤凰县| 海阳市| 永州市| 盐亭县| 左权县| 靖远县| 金坛市| 象山县| 五大连池市| 新昌县| 黄龙县| 石门县| 怀柔区| 新和县| 瓮安县| 会昌县| 观塘区| 方正县| 民县| 讷河市| 南平市| 弋阳县| 永寿县| 临城县| 宁化县| 唐河县| 增城市| 太和县| 闽侯县| 苍梧县| 铁岭县| 万盛区| 景宁| 桐乡市|