Path: newssvr20.news.prodigy.com!newsmst01.news.prodigy.com!prodigy.com!in.100proofnews.com!in.100proofnews.com!cyclone.bc.net!newsfeed.stanford.edu!postnews1.google.com!not-for-mail
From: bchorng@yahoo.com (Bass Chorng)
Newsgroups: comp.databases.oracle.server
Subject: Re: directio performance question
Date: 7 Jul 2003 18:30:36 -0700
Organization: http://groups.google.com/
Lines: 28
Message-ID: <bd9a9a76.0307071730.6b609db4@posting.google.com>
References: <5a4548ca.0307060356.2c4c2c8a@posting.google.com>
NNTP-Posting-Host: 67.72.12.29
Content-Type: text/plain; charset=ISO-8859-1
Content-Transfer-Encoding: 8bit
X-Trace: posting.google.com 1057627836 13969 127.0.0.1 (8 Jul 2003 01:30:36 GMT)
X-Complaints-To: groups-abuse@google.com
NNTP-Posting-Date: 8 Jul 2003 01:30:36 GMT
Xref: newssvr20.news.prodigy.com comp.databases.oracle.server:237107

Hi, I think your test is not a good test for this purpose.
You are doing a DDL. I am not sure what gets written to redo
in this case. I think it is probably just the DDL SQL without
the physical data ( or logical changes only ).

Although writes do affect db writers, however because they
are not real time, using timing in sqlplus won't tell you
anything, unless you happen to bump into a checkpoint.

So the best way to test this is to test your log writer, not
db writer.

If you test DML you would notice big difference. I have
benchmarked inserts before. Your main interest would be
log writer CPU usage and 'log file sync' wait time.
DIO performs fairly close to QIO. 

Solaris has forcedirectio Veritas has convosync option
that you can set to "direct".

Perform a simple test without DIO of inserting a large number of rows
and get the difference of 'log file sync' before and after
and then do the same with DIO. The difference is several fold.

It is harder to collect exact redo CPU % usage without proper tools,
but you can get a rough idea using ps.

Of course your redo needs to be on the DIO volume.
