Re: [PERFORM] fsync method checking - Mailing list pgsql-hackers

From markw@osdl.org
Subject Re: [PERFORM] fsync method checking
Date
Msg-id 200403252147.i2PLkx209812@mail.osdl.org
Whole thread Raw
In response to Re: [PERFORM] fsync method checking  (Tom Lane <tgl@sss.pgh.pa.us>)
Responses Re: [PERFORM] fsync method checking
List pgsql-hackers
On 22 Mar, Tom Lane wrote:
> markw@osdl.org writes:
>> I could certainly do some testing if you want to see how DBT-2 does.
>> Just tell me what to do. ;)
>
> Just do some runs that are identical except for the wal_sync_method
> setting.  Note that this should not have any impact on SELECT
> performance, only insert/update/delete performance.

Ok, here are the results I have from my 4-way xeon system, a 14 disk
volume for the log and a 52 disk volume for everything else:
    http://developer.osdl.org/markw/pgsql/wal_sync_method.html

7.5devel-200403222

wal_sync_method         metric
default (fdatasync)     1935.28
fsync                   1613.92

# ./test_fsync -f /opt/pgdb/dbt2/pg_xlog/test.out
Simple write timing:
        write                    0.018787

Compare fsync times on write() and non-write() descriptor:
(If the times are similar, fsync() can sync data written
 on a different descriptor.)
        write, fsync, close     13.057781
        write, close, fsync     13.311313

Compare one o_sync write to two:
        one 16k o_sync write     6.515122
        two 8k o_sync writes    12.455124

Compare file sync methods with one 8k write:
        (o_dsync unavailable)
        open o_sync, write       6.270724
        write, fdatasync        13.275225
        write, fsync,           13.359847

Compare file sync methods with 2 8k writes:
        (o_dsync unavailable)
        open o_sync, write      12.479563
        write, fdatasync        13.651709
        write, fsync,           14.000240

pgsql-hackers by date:

Previous
From: Bruce Momjian
Date:
Subject: Re: HEAD compile troubles
Next
From: Neil Conway
Date:
Subject: Re: subversion vs cvs (Was: Re: linked list rewrite)