Re: We really ought to do something about O_DIRECT and data=journalled on ext4 - Mailing list pgsql-hackers

From Steve Singer
Subject Re: We really ought to do something about O_DIRECT and data=journalled on ext4
Date
Msg-id 4CFE7A19.3080306@ca.afilias.info
Whole thread Raw
In response to Re: We really ought to do something about O_DIRECT and data=journalled on ext4  (Josh Berkus <josh@agliodbs.com>)
List pgsql-hackers
On 10-12-06 09:00 PM, Josh Berkus wrote:
> Steve,
>
>> If you tell me which options to pgbench and which .conf file settings
>> you'd like to see I can probably arrange to run some tests on AIX.
>
> Compile and run test_fsync in PGSRC/src/tools/fsync.
>

Attached are runs against two different disk sub-systems from a server 
running AIX 5.3.

The first one is against the local disks


Loops = 10000

Simple write:        8k write                      60812.454/second

Compare file sync methods using one write:        open_datasync 8k write          162.160/second        open_sync 8k
write             158.472/second        8k write, fdatasync             158.157/second        8k write, fsync
      45.382/second
 

Compare file sync methods using two writes:        2 open_datasync 8k writes        79.472/second        2 open_sync 8k
writes           80.095/second        8k write, 8k write, fdatasync   159.268/second        8k write, 8k write, fsync
    44.725/second
 

Compare open_sync with different sizes:        open_sync 16k write             162.017/second        2 open_sync 8k
writes           79.709/second
 

Test if fsync on non-write file descriptor is honored:
(If the times are similar, fsync() can sync data written
on a different descriptor.)        8k write, fsync, close           45.361/second        8k write, close, fsync
 36.311/second
 



================================

The below profile is from the same machine using an IBM DS 6800 SAN for 
storage.


Loops = 10000

Simple write:        8k write                      75933.027/second

Compare file sync methods using one write:        open_datasync 8k write         2762.801/second        open_sync 8k
write            2453.822/second        8k write, fdatasync            2867.331/second        8k write, fsync
    1094.048/second
 

Compare file sync methods using two writes:        2 open_datasync 8k writes      1287.845/second        2 open_sync 8k
writes         1332.084/second        8k write, 8k write, fdatasync  1966.411/second        8k write, 8k write, fsync
  1048.354/second
 

Compare open_sync with different sizes:        open_sync 16k write            2281.425/second        2 open_sync 8k
writes         1401.561/second
 

Test if fsync on non-write file descriptor is honored:
(If the times are similar, fsync() can sync data written
on a different descriptor.)        8k write, fsync, close         1298.404/second        8k write, close, fsync
1188.582/second





pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: pg_execute_from_file review
Next
From: Dmitriy Igrishin
Date:
Subject: Re: Feature request - CREATE TYPE ... WITH OID = oid_number.