Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
Home -> Community -> Usenet -> c.d.o.server -> Re: Max IO size
Hi
The underlying hardware has not unlimited read capasity, and most systems
and disk / controler's have the limit at 64k reads on one IO. Many a time
the
hardware ventors/sales/tech people dont know what the specific hardware can
deliver.
Solaris 7 & 6 unix fsys had a io-size of 8k and a default max read size of
7 pages.
Saying the operation system read 56k in one disk IO. Not what most people
expect.
This could be changed to some degree. (I'm not Solaris expert)
On Solaris 7 Oracle 8.1.6 I tried to set db_file_multiblock_read_count to
16384,
and ran a full scan on a huge table (1600Mb) and tracing level 12. The
trace file
waits gave that the server process never asked for more than 127 blocks
(8k).
Different disk subsystems on one system - might behave different,
and to stop guesswork - just test the system. Start the trace and see what
the database engine demands and some other tool to see what the OS system
delivers. And maybe compare numbers from v$filestat and iostat (?) output.
If v$filestat numbers are half the IO's from iostat, the you know that the
OS
only delivers half of the read size Oracle demands. One Oracle pio is the
converted to two physical io's by the operating system.
Anyway - in real life (active) systems, the server process might not ask
for
very many continous reads from disk, because some blocks from the target
will be in buffer cache, and they are not requested re-read! Hence the
request
will/might anyway be devided into several pio's, like read 7 blocks (next
two
are in cache), read 12 blocks (next++ is there), read 2...read 8..read
5....
The higher the demand is for an object - the smaller the average pio,
because
more blocks will sit in the cache already.
/Svend Jensen
Connor McDonald wrote:
> I've got a sun (solaris 2.8) box with with datafiles under vxfs. After
> setting
>
> - maxphys to 512k
> - vxiomax to 512k
> - db block size to 8k
> - multiblock read count to 64
>
> I had presumed that I could get a ceiling of half a meg per read on
> (say) a full table scan, but a level 8 10046 trace yields a ceiling of
> 256k (ie p3 in the waits is 32 not 64)
>
> I'll be repeating the test under a raw partition tomorrow but comments
> anyone ? As a related question, anyone know what Oracle's SSTIOMAX is
> under the various versions (say from 7.3)
>
> Cheers
>
> --
> ==============================
> Connor McDonald
>
> http://www.oracledba.co.uk
>
> "Some days you're the pigeon, some days you're the statue..."
Received on Wed Sep 05 2001 - 14:33:52 CDT