statspack性能报告——分析(2)!

注意:由于这个报告采样时间只间隔了1秒不到,所以可以看见后面的数据都非常不可思议的。仅仅用来学习只用!!!

第一部分:数据库概要信息

报表头部分是数据库概要信息,包含数据库的一些基本信息(数据库名称、版本号、主机信息等)和采样信息、数据库的cache信息等。

(1)首先是数据库名称、dbid等信息:

Database    DB Id    Instance     Inst Num Startup Time    Release     RAC
~~~~~~~~ ----------- ------------ -------- --------------- ----------- ---
          1293815896 orcl                1 01-11月-11 03:34 10.2.0.4.0  NO

Host  Name:   linux            Num CPUs:    1        Phys Memory (MB):      503
~~~~

(2)接下来是数据库采样时段信息,以及采样点数,这部分信息对于report来说是十分重要的。任何统计数据都需要通过时间维度来衡量,离开了时间,任何数据都失去了意义。

Snapshot       Snap Id     Snap Time      Sessions Curs/Sess Comment
~~~~~~~~    ---------- ------------------ -------- --------- -------------------
Begin Snap:          1 01-11月-11 06:24:01      24      11.7
  End Snap:          2 01-11月-11 06:24:30      24      12.7
   Elapsed:                0.48 (mins)
(3)cache信息,这一部分列举了数据库的内存分配信息。
Cache Sizes                       Begin        End
~~~~~~~~~~~                  ---------- ----------
               Buffer Cache:        64M             Std Block Size:         8K
           Shared Pool Size:        84M                 Log Buffer:     2,812K

第二部分:负载概要信息

数据库的负载概要信息,这些信息分别通过每秒和每个事务形式展现。每秒或每个事务的负载越高,那也就意味着数据库的压力越大!

Load Profile                            Per Second       Per Transaction
~~~~~~~~~~~~                       ---------------       ---------------
                  Redo size:             25,338.90            734,828.00
              Logical reads:                161.38              4,680.00
              Block changes:                 42.66              1,237.00
             Physical reads:                  0.97                 28.00
            Physical writes:                 13.72                398.00
                 User calls:                  1.34                 39.00
                     Parses:                  7.34                213.00
                Hard parses:                  3.21                 93.00
                      Sorts:                  3.14                 91.00
                     Logons:                  0.00                  0.00
                   Executes:                 29.79                864.00
               Transactions:                  0.03

  % Blocks changed per Read:   26.43    Recursive Call %:    99.72
 Rollback per transaction %:    0.00       Rows per Sort:    72.25

Redo size信息,单位为bytes:从上面就可以知道数据库每秒产生了大约25338/1024=24KB的redo信息,每个事务平均产生了734828/1024=717KB左右的redo信息。

Logical reads(逻辑读)是指以任何模式进行数据块读取的逻辑读请求次数。计算公式:Logical reads = db block gets + consistent gets

% Blocks changed per Read:从上面可以知道有26%的数据块发生了更改。计算公式:Block changes / Logical reads * 100%

Recursive Call %:从上面可以知道有99%以上的sql发生了递归调用。

Rollback per transaction %:从上面可以知道没有事务回滚操作。计算公式:user rollbacks / (user commits + user rollbacks) * 100%

这里要注意user rollbacks 和 transaction rollbacks 的区别,即使不执行事务,仅仅发出rollback操作,user rollbacks 统计信息也会增长,而transaction rollbacks则仅会在事务回滚时增长。

Rows per Sort:从上面可以知道有72%的行发生了排序操作。


第三部分:实例效率百分比

通过这些性能指标,一个经验丰富的DBA应该能够快速的发现数据库的性能问题。

Instance Efficiency Percentages
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
            Buffer Nowait %:  100.00       Redo NoWait %:  100.00
            Buffer  Hit   %:   99.40    In-memory Sort %:  100.00
            Library Hit   %:   80.51        Soft Parse %:   56.34
         Execute to Parse %:   75.35         Latch Hit %:  100.00
Parse CPU to Parse Elapsd %:   55.56     % Non-Parse CPU:   77.61
Buffer  Hit  %:表示当进行数据访问时,在内存中找到数据的百分比,这个比率越高说明物理I/O就越少。现在随着硬件能力的扩展,这个比率较低的情况已经越来越少。根据传统的建议,通常这个比率应该维持在99%左右,如果这个比率低于95%就应当引起注意。
In-memory Sort %:从上面可以知道100%的排序操作都是在内存中完成的。

Soft Parse %:从上面可以知道有44%的sql发生了硬解析,这个比率通常应该在99%以上。

Execute to Parse %:执行次数对分析次数的百分比。太低,说明存在大量的反复解析,数据库就存在性能问题。

Parse CPU to Parse Elapsd %:这个指标说明在sql解析过程中cpu消耗的时间,数值越高则说明等待的时间越短,理想值是100%。

% Non-Parse CPU:CPU非分析时间在整个CPU时间的百分比。从上面可以说明33%的时间用在sql执行上面。


第四部分:数据库的响应时间

这部分列出了最消耗时间的TOP5事件。

Top 5 Timed Events                                                    Avg %Total
~~~~~~~~~~~~~~~~~~                                                   wait   Call
Event                                            Waits    Time (s)   (ms)   Time
----------------------------------------- ------------ ----------- ------ ------
CPU time                                                         1          69.5
control file parallel write                         14           0     14   19.9
log file parallel write                              3           0     12    3.8
control file sequential read                       240           0      0    3.8
log file sync                                        1           0     22    2.2

这个Waits表示等待的次数!

结合后面的统计信息:

Instance Activity Stats  DB/Inst: ORCL/orcl  Snaps: 1-2

Statistic                                      Total     per Second    per Trans
--------------------------------- ------------------ -------------- ------------
CPU used by this session                          67            2.3         67.0
DB time                                        6,166          212.6      6,166.0
parse time cpu                                    15            0.5         15.0
parse time elapsed                                27            0.9         27.0
recursive calls                               13,846          477.5     13,846.0
recursive cpu usage                               65            2.2         65.0
CPU used by this session:这是所有session使用的cpu的累计值,也就是Oracle数据库及其相关session所耗用的cpu时间。
parse time cpu:指进行sql解析所花费的时间,如果parse time cpu占用cpu time的很大百分比,那么说明cpu时间被花费在解析sql上而不是执行。比如大量的硬解析!

DB time = cpu Time + wait time;


第五部分:主机系统信息

Host CPU  (CPUs: 1)
~~~~~~~~              Load Average
                      Begin     End      User  System    Idle     WIO     WCPU
                    ------- -------   ------- ------- ------- ------- --------
                       0.09    0.11      1.14    2.18   96.54    1.93

Instance CPU
~~~~~~~~~~~~
              % of total CPU for Instance:    3.75
              % of busy  CPU for Instance:  108.32
  %DB time waiting for CPU - Resource Mgr:

Memory Statistics                       Begin          End
~~~~~~~~~~~~~~~~~                ------------ ------------
                  Host Mem (MB):        503.3        503.3
                   SGA use (MB):        160.0        160.0
                   PGA use (MB):         96.8         97.2
    % Host Mem used for SGA+PGA:         51.0         51.1

第六部分:详细信息

把剩余部分归入详细信息一类,这些信息都是详细的数据库信息列表,在此前各部分发现的问题就可以通过这些具体信息进一步定位和诊断。(这里就不在列出)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值