Do we really need multiple dbwr when AIO is used?

  • From: "zhu chao" <chao_ping@xxxxxxxxxxx>
  • To: <oracle-l@xxxxxxxxxxxxx>
  • Date: Sun, 18 Apr 2004 22:13:48 +0800

hi, friends:
    From time to time, I see various of notes say, in heavy load, you'd better 
use multiple dbwr even if AIO is used.  I think AIO allows dbwr to issue new 
write request to the driver without waiting for the previous write request to 
complete.
    When disk itself is 100% busy, I think more dbwr won't help.If disk is not 
100% busy, it is the oracle dbwr itself won't catch up, then we should use 
multiple dbwr. I did a performance test today, comparing the result of using 1 
and 4 dbwr with aio on.
Test Environment:
    Sun FireV880. 8*1.2GHZ CPU. 16G memory. 
    Storage: HDS 9570.
    Oracle 8.1.7.4. Veritas Volume Manager 3.5. All datafile/redo/control/temp 
on raw device.
    Redo log size is 500M * 5 group.
    Shared_pool_size is 80M and data buffer is 1.2G.

Build an empty database on raw device, with 25G of freespace. One target 
tablespace, extent management local uniform size 5m.
Do a 1.2G dmp table import. No special tuning.

First time: 1 dbwr. import. It took 20 minutes and 30 seconds.
Second time: drop user, recreate user, configure 4 dbwr process, 
db_block_lru_latches=8.
                   do import again..Time is 21Minutes and 44 seconds.
Third time: 1 dbwr. Drop user and recreate. The same parameter as test 1. (I 
did it as  test 1, in case SAN cache was relatively empty, so maybe performance 
better).
                This time the import time is 21Minutes and 38 seconds.

There is no performance difference using 1 dbwr or 4 dbwr. I did a statspack, 
and found during peak time, there were 2500+ write per second. And according to 
the test, one dbwr can handle it efficiently. From solaris iostat -xn result, I 
saw 4000+ write per second during peak time(redo write plus dbwr write).

        I think import is a heavy task for dbwr, few database will write 2500+ 
per second(Our database do 200 write per second). Since in such a test, one 
dbwr can handle the request efficiently, I wonder whether those guys who claim 
the need for multiple dbwr do have real world experience, when aio is 
avaliable. If yes, please give us some data, not just the rule of the numb.

Please comment.

Regards
Zhu Chao.


----------------------------------------------------------------
Please see the official ORACLE-L FAQ: http://www.orafaq.com
----------------------------------------------------------------
To unsubscribe send email to:  oracle-l-request@xxxxxxxxxxxxx
put 'unsubscribe' in the subject line.
--
Archives are at //www.freelists.org/archives/oracle-l/
FAQ is at //www.freelists.org/help/fom-serve/cache/1.html
-----------------------------------------------------------------

Other related posts: