Re: We really ought to do something about O_DIRECT and data=journalled on ext4

From: Steve Singer <ssinger(at)ca(dot)afilias(dot)info>
To: Josh Berkus <josh(at)agliodbs(dot)com>
Cc: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: We really ought to do something about O_DIRECT and data=journalled on ext4
Date: 2010-12-07 18:16:57
Message-ID: 4CFE7A19.3080306@ca.afilias.info
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: 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

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dmitriy Igrishin 2010-12-07 18:17:28 Re: Feature request - CREATE TYPE ... WITH OID = oid_number.
Previous Message Tom Lane 2010-12-07 18:03:17 Re: pg_execute_from_file review