Re: single session I/O bandwidth

  • From: Nuno Souto <dbvision@xxxxxxxxxxxx>
  • To: oracle-l@xxxxxxxxxxxxx
  • Date: Fri, 15 Mar 2013 15:42:29 +1100

If readahead is configured!  ;)
Don't laugh, I had someone ask me to disable it at jfs2 level...

Agreed entirely.  What most folks forget is that I/O through Oracle is 
not just read()/write() OS calls.

An Oracle read as a result of a SELECT results in a disk read ONLY IF:
- the row(s) requested is/are not in the result set cache.
- the row(s) requested is/are not in a block already in memory.
To ascertain either or both the above, Oracle has to use - wait for 
it... - CPU!  It ain't coming out of thin air...
With lots of rows in a block, guess what gets used up the most?

And I'm not even brushing the depths of NUMA I/O, CPU/memory bus 
control, etcetc.
Hardly any OS measures those effectively nowadays...
Best way I've found to gauge Oracle I/O performance?  Use SLOB.
Next best?  Use dd or orion or any of the other multitude of tools:
they do I/O in a totally different way, so get ready to extrapolate like 
crazy!
;)

-- 
Cheers
Nuno Souto
dbvision@xxxxxxxxxxxx


On 15/03/2013 4:04 AM, Kevin Closson wrote:
> not if it is in the buffered path..if buffered then OS block readahead will 
> kick in.
>
> If you want to know what Oracle can do with storage, use Oracle. Not 
> synthetic I/O tools like dd. (not preaching at you here, Noons. Just 
> reminding the list)
>
> http://kevinclosson.wordpress.com/2013/03/03/my-oaktable-world-2012-video-session-is-now-online/
>
> I monitored this thread and only one participant chimed in on the real 
> problem which is CPU. Oracle can do I/O without burning CPU with CALIBRATE. 
> Any other method for driving physical I/O will burn CPU. Even count(*) has 
> memory loads of the block hear to get the slot count. If not parallel, even a 
> count(*) will be CPU-bound.
>
>
>
>
> ________________________________
>   From: Nuno Souto <dbvision@xxxxxxxxxxxx>
> To: oracle-l@xxxxxxxxxxxxx
> Sent: Tuesday, March 12, 2013 2:59 AM
> Subject: Re: single session I/O bandwidth
>   
> and if you use dd, don't forget to set bs, ibs or obs to 8K or whatever
> the db block size is..
> Otherwise you'll be measuring times for 512 byte I/O.
>


--
//www.freelists.org/webpage/oracle-l


Other related posts: