Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: Max IO size

Re: Max IO size

From: Svend Jensen <svend_at_oraclecare.com>
Date: Wed, 05 Sep 2001 21:33:52 +0200
Message-ID: <3B967E20.D3C202E5@oraclecare.com>


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

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US