Re: Postgresql.conf cleanup - Mailing list pgsql-hackers

From Tom Lane
Subject Re: Postgresql.conf cleanup
Date
Msg-id 22529.1183409228@sss.pgh.pa.us
Whole thread Raw
In response to Re: Postgresql.conf cleanup  (Greg Smith <gsmith@gregsmith.com>)
List pgsql-hackers
Greg Smith <gsmith@gregsmith.com> writes:
> On Mon, 2 Jul 2007, Tom Lane wrote:
>>> # wal_buffers = 1MB
>> Is there really evidence in favor of such a high setting for this,
>> either?

> I noticed consistant improvements in throughput on pgbench results with 
> lots of clients going from the default to 256KB, flatlining above that; it 
> seemed sufficiently large for any system I've used.  I've taken to using 
> 1MB anyway nowadays because others suggested that number, and it seemed to 
> be well beyond the useful range and thus never likely to throttle 
> anything.  Is there any downside to it being larger than necessary beyond 
> what seems like a trivial amount of additional RAM?

There might be some value in keeping wal_buffers small enough to fit in
L2 cache; not sure.

But pgbench is not really the poster child for large wal_buffers,
because it consists exclusively of short transactions.  The gain from
enlarging wal_buffers stops the moment it passes your largest
time-between-commits, since a commit has to flush out whatever's in
there.

There's probably not much point in arguing this now, though; once the
async commit patch is in there we will have to re-measure all the
behavior and develop new recommendations (and, quite possibly, a new
default value).  The existence of the walwriter will reduce the useful
size of wal_buffers, but the existence of async commit might increase it.
        regards, tom lane


pgsql-hackers by date:

Previous
From: Gregory Stark
Date:
Subject: Re: [COMMITTERS] pgsql: Fix failure to restart Postgres when Linux kernel returns EIDRM
Next
From: Martijn van Oosterhout
Date:
Subject: Re: GiST consistent function, expected arguments; multi-dimensional indexes