Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> RE: Async IO on Linux

RE: Async IO on Linux

From: Kevin Closson <>
Date: Thu, 21 Sep 2006 12:58:21 -0700
Message-ID: <>

>>>I'm testing 10gR2 on a new Linux box. I decided to fiddle
with enabling async IO. To test the async IO, I imported a table and I also ran several queries . I ran these tests one at a time (e.g. the queries and imports were not running simultaneously). I see NO performance difference for my import or queries with async IO enabled. I expected to see some performance difference (meaing change in elapsed time). Does async IO only help when you have multiple sessions performing IO simultaneously?          

...Oracle 10gR2 does not require a recompile for async on Linux BTW, it is the first
release where it's just in there. your question though... I have to first ask, are you using direct I/O as well?
It doesn't smell like it to me... if you are not using direct I/O, async I/O wont
get you much really because all the writes on a buffered filesystem are in essence
async because the only file where writes are synced is redo (open O_SYNC). The import should push DBWR to show some benefit, but mostly with Direct I/O. As
for queries? Well, foreground processes do not use async I/O reads for queries. Foregrounds
use readv (blocking) for scattered reads, and pread (blocking) for direct path reads
and db file sequential reads. PQO on the other hand, does indeed scan with async I/O
keeping 4 sequential reads in flight at all times per slave (if there is enough data).
But, don't be confused, if the query plan is an index range scan, PQO will use
readv (blocking scattered reads)...

the short answer is asnyc only relates to certain things and you have to test those
to see a performance delta...oh, and you have to have a bottlenect that async addresses
such as free buffer waits ...

Received on Thu Sep 21 2006 - 14:58:21 CDT

Original text of this message