Oracle数据库数据恢复、性能优化

找回密码
注册
搜索
热搜: 活动 交友 discuz
发新帖

-5

积分

1

好友

2

主题
1#
发表于 2013-2-17 11:10:16 | 查看: 9900| 回复: 11
在11G的AWR中, 在load profile里面有 physical reads和physical writes 两个指标,这两个指标是不是*只*涵盖data file的IO 请求(即IO requests)?如果是只涵盖data file 的IO 请求,那里面是否包括:
(1) 所有类型的IO, 如 db file sequential reads, db file scattered reads, direct path read, direct path write等;
还是说
(2) 这些IO 请求只包括 db file sequential reads和db file scattered reads

另外, 11g以后,awr引入了IOStat by Function summary/ IOStat by Filetype summary 等,这些部分的信息是否可以用来计算系统的IOPS?并且他们与load profile里面的physical reads和physical writes之间有什么联系?经过研究,我发现这两部分的数据对应不起来。

谢谢
已有 1 人评分威望 理由
Maclean Liu(刘相兵 + 5 赞一个!

总评分: 威望 + 5   查看全部评分

2#
发表于 2013-2-17 14:23:40
举一个例子:

2小时的一个AWR 快照 , 8k block size

Physical reads:         54,598.4         4,138.2                  
Physical writes:         986.1         74.7         


物理读 每秒54,598.4 * 8k =>>> 426MB
物理写  每秒 986.1  * 8k  ==>   7.7 MB

主要等待是 direct path read

Event        Waits        Time(s)        Avg wait (ms)        % DB time        Wait Class
direct path read        1,517,874        37,034        24        66.66        User I/O
DB CPU                 6,415                 11.55         
enq: TM - contention        431        1,668        3871        3.00        Application
direct path write temp        125,953        1,339        11        2.41        User I/O
direct path read temp        131,393        1,037        8        1.87        User I/O


direct reads 总量为 2.9T ==> 2.9t /7200==> 422M/s
Buffer Cache Reads   87 M 忽略


Function Name        Reads: Data        Reqs per sec        Data per sec        Writes: Data        Reqs per sec        Data per sec        Waits: Count        Avg Tm(ms)
Direct Reads        2.9T        447.41        426.534        0M        0.00        0M        0         
Direct Writes        0M        0.00        0M        50.1G        29.48        7.13603        0         
LGWR        221M        1.97        .030759        9G        32.93        1.27800        125.7K        5.16
Others        4.7G        4.54        .672682        4.4G        1.60        .624385        31.8K        8.93
DBWR        0M        0.00        0M        4G        14.31        .567876        0         
Buffer Cache Reads        87M        1.55        .012109        0M        0.00        0M        11.1K        12.40
TOTAL:        2.9T        455.47        427.250        67.4G        78.31        9.60629        168.7K        6.34



Direct Writes  + DBWR write= > (50.1G +  4G )/7200= 7.69M 和物理写  每秒 986.1  * 8k  ==>   7.7 MB 基本匹配


LGWR 写 9G /7200=> 1342177 bytes /s  和 Load Profile 中的Redo size: 基本匹配




回复 只看该作者 道具 举报

3#
发表于 2013-2-17 14:24:10
你的问题:

“这两个指标是不是*只*涵盖data file的IO 请求(即IO requests)?如果是只涵盖data file 的IO 请求,那里面是否包括:
(1) 所有类型的IO, 如 db file sequential reads, db file scattered reads, direct path read, direct path write等; ”


回答:

只涵盖datafile IO , 并包括了direct path read, direct path write等

回复 只看该作者 道具 举报

4#
发表于 2013-2-17 14:31:45
本帖最后由 kim_meng 于 2013-2-17 14:36 编辑

如何根据awr得到IOPS值。
看到上面的io次数,都是以8K为单位,但是数据库有时一次io多个8k。
可否通过AWR报告,得出系统的I/O资源已经满载,即100%的结论呢?

回复 只看该作者 道具 举报

5#
发表于 2013-2-17 14:56:57
参考AWR中的Instance Activity Statistics 环节

    IOPS = “physical reads total I/O requests” + “physical writes total I/Orequests”
    MBytes/s = “physical reads total bytes” + physical writes total bytes”

physical read total IO requests        3,272,436        455.48        34.52
physical write IO requests        314,647        43.79        3.32

IOPS = “physical reads total I/O requests” + “physical writes total I/Orequests” =  455+43 = 498


physical read total bytes        3,218,786,182,144        448,007,955.58        33,956,306.25
physical write total bytes        72,372,139,008        10,073,143.17        763,483.62


MBytes/s= 448,007,955 + 10,073,143 = 458081098bytes= 436 MB/s

大致计算其 IOPS 为 498 而 吞吐量为 436MB/s

回复 只看该作者 道具 举报

6#
发表于 2013-2-17 15:41:53
本帖最后由 Stone 于 2013-2-17 15:51 编辑
Maclean Liu(刘相兵 发表于 2013-2-17 14:23
举一个例子:

2小时的一个AWR 快照 , 8k block size


适当补充下 :)

我顺便看了下手头上的一个库的awr
Release: 11.1.0.7.0
Platform: Linux x86 64-bit

两部分的数据分别来自Load Profile 和 Instance Activity Stats
  1. 1) Load Profile

  2.                         Per Second        Per Transaction          Per Exec        Per Call
  3. Physical reads:            981.8                2,561.5                  
  4. Physical writes:            233.6                609.4       


  5. 2) Instance Activity Stats

  6. Statistic                    Total            per Second        per Trans
  7. physical reads                14,113,562        981.77            2,561.45
  8. physical reads cache         2,845,304        197.93            516.39
  9. physical reads direct        11,268,258        783.84            2,045.06

  10. physical reads ≈ physical reads direct + physical reads cache

  11. physical writes                 3,357,509        233.56        609.35
  12. physical writes direct         3,238,135        225.25        587.68
  13. physical writes from cache 119,374        8.30        21.66

  14. physical writes = physical writes direct + physical writes from cache

  15. 981.8 ~ 981.77
  16. 233.6 ~ 233.56 (四舍五入)
复制代码
另外Oracle的这篇解释感觉不错:

http://docs.oracle.com/cd/B19306_01/server.102/b14237/stats002.htm
  1. physical reads

  2. Total number of data blocks read from disk. This value can be greater than the value of "physical reads direct" plus "physical reads cache" as reads into process private buffers also included in this statistic.

  3. physical reads cache

  4. Total number of data blocks read from disk into the buffer cache. This is a subset of "physical reads" statistic.

  5. physical reads direct

  6. Number of reads directly from disk, bypassing the buffer cache. For example, in high bandwidth, data-intensive operations such as parallel query, reads of disk blocks bypass the buffer cache to maximize transfer rates and to prevent the premature aging of shared data blocks resident in the buffer cache.


  7. physical writes

  8. Total number of data blocks written to disk. This statistics value equals the sum of "physical writes direct" and "physical writes from cache" values.

  9. physical writes direct

  10. Number of writes directly to disk, bypassing the buffer cache (as in a direct load operation)

  11. physical writes from cache

  12. Total number of data blocks written to disk from the buffer cache. This is a subset of "physical writes" statistic
复制代码

回复 只看该作者 道具 举报

7#
发表于 2013-2-17 16:02:00
并且他们与load profile里面的physical reads和physical writes之间有什么联系?经过研究,我发现这两部分的数据对应不起来。


一个物理读 一个物理写 应该没有啥关系吧,如果有关系就是都是physical的,上面帖子里Oracle的官方文档解释应该可以理解其具体意思啦吧 :)

回复 只看该作者 道具 举报

8#
发表于 2013-2-17 16:06:39
Maclean Liu(刘相兵 发表于 2013-2-17 14:56
参考AWR中的Instance Activity Statistics 环节

    IOPS = “physical reads total I/O requests” + “p ...

谢谢解答。
之前把load profile中的physical reads 和physical writes的单位记错了。刚学Oracle的时候记得它们的单位是block,后来长时间接触的OLTP系统(几乎是是单块读),就潜意识的认为它们的单位是IO request。 另外我发现,要计算系统的IOPS和MBPS的话,IOStat by * 那几个部分提供的信息更方便,而且更直观

回复 只看该作者 道具 举报

9#
发表于 2013-2-17 16:18:18
Stone 发表于 2013-2-17 15:41
适当补充下 :)

我顺便看了下手头上的一个库的awr

谢谢指教 : )

回复 只看该作者 道具 举报

10#
发表于 2013-2-17 16:28:06
在11G的AWR中, 在load profile里面有 physical reads和physical writes 两个指标,这两个指标是不是*只*涵盖data file的IO 请求(即IO requests)?如果是只涵盖data file 的IO 请求,那里面是否包括:
(1) 所有类型的IO, 如 db file sequential reads, db file scattered reads, direct path read, direct path write等;
还是说
(2) 这些IO 请求只包括 db file sequential reads和db file scattered reads


补充一些我的理解: 既然是Physical的,当然要与 datafile/disk 打交道啦 。。。
另外“db file sequential reads, db file scattered reads” 应该属于等待事件wait event的范畴,一般查询V$SYSTEM_EVENT,而“direct path read, direct path write” 属于统计信息statistics,一般查询V$SESSTAT and V$SYSSTAT.
  1. 10.1.2.2.1 Identifying I/O Problems Using V$ Views
  2. Check the Oracle wait event data in V$SYSTEM_EVENT to see whether the top wait events are I/O related. I/O related events include db file sequential read, db file scattered read, db file single write, db file parallel write, and log file parallel write. These are all events corresponding to I/Os performed against data files and log files. If any of these wait events correspond to high average time, then investigate the I/O contention.
复制代码
具体参考下面的两个连接:
http://docs.oracle.com/cd/E11882_01/server.112/e16638/instance_tune.htm#PFGRF94465
http://docs.oracle.com/cd/B19306_01/server.102/b14237/stats002.htm
已有 1 人评分威望 理由
Maclean Liu(刘相兵 + 5 很给力!

总评分: 威望 + 5   查看全部评分

回复 只看该作者 道具 举报

11#
发表于 2013-2-17 16:47:25
Stone 发表于 2013-2-17 16:28
补充一些我的理解: 既然是Physical的,当然要与 datafile/disk 打交道啦 。。。
另外“db file sequenti ...

direct path read 和 direct path write 也是等待事件的

回复 只看该作者 道具 举报

12#
发表于 2013-2-17 21:09:54
蓝白无常 发表于 2013-2-17 16:47
direct path read 和 direct path write 也是等待事件的


谢谢,其实我本来想说的是”physical reads direct“和”physical writes direct“属于统计信息的,不好意思一下子写错啦。另外我的理解是Load Profile部分的”physical reads“和"physical writes"这两个指标应该是Datafile/disk IO相关的,具体包括的是:
  1. physical reads ≈ physical reads direct + physical reads cache
  2. physical writes = physical writes direct + physical writes from cache
复制代码
而不能说其包括哪些等待事件,
可以说跟哪些等待事件相关 ...

欢迎继续讨论啊 :)

回复 只看该作者 道具 举报

您需要登录后才可以回帖 登录 | 注册

QQ|手机版|Archiver|Oracle数据库数据恢复、性能优化

GMT+8, 2024-11-16 06:26 , Processed in 0.058107 second(s), 25 queries .

Powered by Discuz! X2.5

© 2001-2012 Comsenz Inc.

回顶部
TEL/電話+86 13764045638
Email service@parnassusdata.com
QQ 47079569