RE: Direct I/O, better performance?

  • From: "Gogala, Mladen" <Mladen.Gogala@xxxxxxxx>
  • To: "'nsouto@xxxxxxxxxxxxxx'" <nsouto@xxxxxxxxxxxxxx>, "Oracle-L@Freelists. Org (E-mail)" <oracle-l@xxxxxxxxxxxxx>
  • Date: Tue, 26 Oct 2004 11:14:38 -0400

The primary benefit of using direct I/O on a unix system is using less
memory. Direct I/O 
bypasses buffer cache which is dynamic on the  most of modern Unix (and
Unix-like systems, 
for Linux fans) systems. If you have never had any problems with memory,
you're unlikely 
to see any benefits. You can even notice a slowdown for the jobs that are
mainly read-only 
because by using direct I/O, you eliminated the file system prefetch and
caching effects. 
If your database has 1,000 online  users, you definitely do want direct I/O,
or each and 
every process will cache its small part of DB files in both kernel memory
(buffer cache) 
and SGA.

Mladen Gogala
A & E TV Network
Ext. 1216

> -----Original Message-----
> From: Nuno Souto [mailto:nsouto@xxxxxxxxxxxxxx] 
> Sent: Tuesday, October 26, 2004 7:18 AM
> To: Oracle-L@Freelists. Org (E-mail)
> Subject: Re: Direct I/O, better performance?
> Roger, I wouldn't discount direct I/O completely.
> Try it on redo log files. 
> The other thing you should be aware is that the standard
> file system does a lot of work that you have to compensate
> for when you start replacing its functionality.  Readahead
> on sequential operations is one obvious one.  

Other related posts: