fsync vs open_sync - Mailing list pgsql-hackers

From pgsql@mohawksoft.com
Subject fsync vs open_sync
Date
Msg-id 5646.64.119.142.34.1092076020.squirrel@mail.mohawksoft.com
Whole thread Raw
Responses Re: fsync vs open_sync
Re: fsync vs open_sync
Re: fsync vs open_sync (more info)
List pgsql-hackers
I did a little test on the various options of fsync.

I'm not sure my tests are scientific enough for general publication or
evaluation, all I am doing is performaing a loop that inserts a value into
a table 1 million times.
create table testndx (value integer, name varchar);
create index testndx_val on testndx (value);

for(int i=0; i < 1000000; i++)
{ printf_query( "insert into testndx (value, name) values ('%d', 'test')",
random());
  // report here
}


Anyway, with fsync enabled using standard fsync(), I get roughly 300-400
inserts per second. With fsync disabled, I get about 7000 inserts per
second. When I re-enable fsync but use the open_sync option, I can get
about 2500 inserts per second.

(This is on Linux 2.4 kernel, ext2 file system)

(1) Is there any drawback to using open_sync as it appears to be a happy
medium to turing fsync off?
(2) Does anyone know if the "open_sync" option performs this well across
most platforms or only Linux?
(3) If "open_sync" works well across many platforms, and there are no
drawbacks, shouldn't it be the default wal sync method? The performance
bood is increadible.


pgsql-hackers by date:

Previous
From: pgsql@mohawksoft.com
Date:
Subject: fsync vs open_sync
Next
From: Alvaro Herrera
Date:
Subject: Re: VACUUM DELAY