Re: Advice configuring ServeRAID 8k for performance - Mailing list pgsql-performance

From Andres Freund
Subject Re: Advice configuring ServeRAID 8k for performance
Date
Msg-id 20100816210552.GC3911@anarazel.de
Whole thread Raw
In response to Re: Advice configuring ServeRAID 8k for performance  (Greg Smith <greg@2ndquadrant.com>)
Responses Re: Advice configuring ServeRAID 8k for performance
List pgsql-performance
On Mon, Aug 16, 2010 at 04:54:19PM -0400, Greg Smith wrote:
> Andres Freund wrote:
> >A new checkpointing logic + a new syncing logic
> >(prepare_fsync() earlier and then fsync() later) would be a nice
> >thing. Do you plan to work on that?
> The background writer already caches fsync calls into a queue, so
> the prepare step you're thinking needs to be there is already.  The
> problem is that the actual fsync calls happen in a tight loop.  That
> we're busy fixing.
That doesn't help that much on many systems with a somewhat deep
queue. An fsync() equals a barrier so it has the effect of stopping
reordering around it - especially on systems with larger multi-disk
arrays thats pretty expensive.
You can achieve surprising speedups, at least in my experience, by
forcing the kernel to start writing out pages *without enforcing
barriers* first and then later enforce a barrier to be sure its
actually written out. Which, in a simplified case, turns the earlier
needed multiple barriers into a single one (in practise you want to
call fsync() anyway, but thats not a big problem if its already
written out).

Andres

pgsql-performance by date:

Previous
From: Greg Smith
Date:
Subject: Re: Advice configuring ServeRAID 8k for performance
Next
From: "Aaron Burnett"
Date:
Subject: Very poor performance