Oracle FAQ Your Portal to the Oracle Knowledge Grid

Home -> Community -> Mailing Lists -> Oracle-L -> Do we really need multiple dbwr when AIO is used?

Do we really need multiple dbwr when AIO is used?

From: zhu chao <>
Date: Sun, 18 Apr 2004 22:13:48 +0800
Message-ID: <002a01c4254f$5f876790$>

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 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.

Zhu Chao.

Please see the official ORACLE-L FAQ:

To unsubscribe send email to: put 'unsubscribe' in the subject line.

Archives are at FAQ is at
Received on Sun Apr 18 2004 - 09:10:27 CDT

Original text of this message