Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Mailing Lists -> Oracle-L -> RE: db_file_mutliblock_read_count and physical IO
That certainly begs the question. I'll ask it: Ryan, are you reporting based
on the p3 value you're seeing for your read waits in the 10046 trace, or by
some other means? The p3 value is the number of blocks Oracle will attempt
to read, at least for the versions with which I am familiar. If you run the
test I suggested, please observe the p3's rather than using some aggregate.
If you attempt to coordinate with actual physical disk i/o, you'll likely
see interesting effects of the things like track (cylinder boundaries) and
stripe width unless you've gone to extraordinary measures to achieve
alignment.
mwf
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of Bobak, Mark
Sent: Wednesday, August 18, 2004 11:12 AM
To: oracle-l_at_freelists.org
Subject: RE: db_file_mutliblock_read_count and physical IO
Ryan,
The problem is that the statistic you're looking at (physical reads) =
does not mean what you think it means. Look at the definition of the =
'physical reads' statistic in the Oracle Reference manual (under =
Statistics Descriptions). It is:
"Total number of data blocks read from disk. This number equals the =
value of "physical reads direct" plus all reads into buffer cache."
So, it's the total number of data blocks read from disk. It's NOT the = number of db file scattered read (i.e. readv()) calls. So, by varying = db_file_multiblock_read_count, you'll vary the number of readv() calls =and the number of blocks read per call, but you will NOT affect the = total number of blocks read. Note that reducing the number of readv() = calls reduces the number of context switches and is a good thing.
Hope that helps,
-Mark
PS For more info on read() and readv(), and setting = db_file_multiblock_read_count, go to http://www.hotsos.com and check out = "Why are Oracle's read events named backwards?" and "Predicting = multi-block read call sizes", both by Jeff Holt.
-----Original Message-----
From: oracle-l-bounce_at_freelists.org
[mailto:oracle-l-bounce_at_freelists.org]On Behalf Of
ryan.gaffuri_at_comcast.net
Sent: Wednesday, August 18, 2004 10:25 AM
To: oracle-l_at_freelists.org
Subject: db_file_mutliblock_read_count and physical IO
I did a 10046 trace and verified that I can get up to 128 blocks/IO with =
db_file_multiblock_read_count.
How do I metric this? I look at my total physical IOs when I did a =
tkprof report and my total number of physical IOs remained the same when =
I had the value set to 8 as when I had it set to 128?
Before I did this test, my assumption was:
'Oracle would do less total Physical IOs since I am retrieving more =
blocks per IO.'
That assumption proved false. Can someone explain why?=20
FAQ is at http://www.freelists.org/help/fom-serve/cache/1.htmlput 'unsubscribe' in the subject line.
-----------------------------------------------------------------
----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to: oracle-l-request_at_freelists.org
![]() |
![]() |