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: Connor McDonald <connor_mcdonald_at_yahoo.com>
Date: Thu, 06 Sep 2001 20:37:25 +0100
Message-ID: <3B97D075.CB7@yahoo.com>


Svend Jensen wrote:
>
> 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..."

Appears to be a file system restriction. The same test on a *raw* vxvm volume can get up to 1m (with maxphys and vxiomax at 1m, multiblock-read-count at 128 on block size 8k). But smack a file system on top of it and ker-bang, I'm back down to 256k...

Yet *another* reason why I like raw and hate file systems !

Cheers
Connor

-- 
==============================
Connor McDonald

http://www.oracledba.co.uk

"Some days you're the pigeon, some days you're the statue..."
Received on Thu Sep 06 2001 - 14:37:25 CDT

Original text of this message

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