Skip site navigation (1) Skip section navigation (2)

Re: [HACKERS] fsync method checking

From: Bruce Momjian <pgman(at)candle(dot)pha(dot)pa(dot)us>
To: Kurt Roeckx <Q(at)ping(dot)be>
Cc: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>,Mark Kirkwood <markir(at)paradise(dot)net(dot)nz>,pgsql-performance(at)postgresql(dot)org,PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: [HACKERS] fsync method checking
Date: 2004-03-18 20:09:25
Message-ID: 200403182009.i2IK9PJ24080@candle.pha.pa.us (view raw or flat)
Thread:
Lists: pgsql-hackerspgsql-performance
Kurt Roeckx wrote:
> On Thu, Mar 18, 2004 at 02:22:10PM -0500, Bruce Momjian wrote:
> > 
> > OK, what better test do you suggest?  Right now, there has been no
> > testing of these.
> 
> I suggest you start by doing atleast preallocating a 16 MB file
> and do the tests on that, to atleast be somewhat simular to what
> WAL does.
> 
> I have no idea what the access pattern is for normal WAL
> operations or how many times it gets synched.  Does it only do
> f(data)sync() at commit time, or for every block it writes?
> 
> I think if you write more data you'll see more differences
> between O_(D)SYNC and f(data)sync().
> 
> I guess it can depend on if you have lots of small transactions,
> or more big ones.
> 
> Atleast try to make something that covers different access
> patterns.

OK, I preallocated 16mb.  New results:

Simple write timing:
        write                    0.037900

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      0.692942
        write, close, fsync      0.762524

Compare one o_sync write to two:
        one 16k o_sync write     8.494621
        two 8k o_sync writes     4.177680

Compare file sync methods with one 8k write:
        (o_dsync unavailable)
        open o_sync, write       1.836835
        (fdatasync unavailable)
        write, fsync,            1.780872

Compare file sync methods with 2 8k writes:
(The fastest should be used for wal_sync_method)
        (o_dsync unavailable)
        open o_sync, write       4.255614
        (fdatasync unavailable)
        write, fsync,            2.120843

-- 
  Bruce Momjian                        |  http://candle.pha.pa.us
  pgman(at)candle(dot)pha(dot)pa(dot)us               |  (610) 359-1001
  +  If your life is a hard drive,     |  13 Roberts Road
  +  Christ can be your backup.        |  Newtown Square, Pennsylvania 19073

In response to

Responses

pgsql-performance by date

Next:From: Tom LaneDate: 2004-03-18 20:20:23
Subject: Re: [HACKERS] fsync method checking
Previous:From: Tom LaneDate: 2004-03-18 20:08:48
Subject: Re: [HACKERS] fsync method checking

pgsql-hackers by date

Next:From: Tom LaneDate: 2004-03-18 20:20:23
Subject: Re: [HACKERS] fsync method checking
Previous:From: Tom LaneDate: 2004-03-18 20:08:48
Subject: Re: [HACKERS] fsync method checking

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group