From: Josh Berkus <josh@agliodbs.com>
To: pgsql-performance@postgresql.org
Subject: Wrong docs on wal_buffers?
Date: Wed, 05 Jan 2011 12:43:10 -0800
Message-ID: <4D24D7DE.6020507@agliodbs.com> (raw)
All,
One of my coworkers just pointed this out:
"The amount of memory used in shared memory for WAL data. The default is
64 kilobytes (64kB). The setting need only be large enough to hold the
amount of WAL data generated by one typical transaction, since the data
is written out to disk at every transaction commit. This parameter can
only be set at server start."
http://www.postgresql.org/docs/9.0/static/runtime-config-wal.html
That's quite incorrect. The wal_buffers are shared by all concurrent
transactions, so it needs to be sized appropriately for all
*simultaneous* uncommitted transactions, otherwise you'll get
unnecessary flushing.
Certainly performance testing data posted on this list and -hackers.
bears that out. My suggestion instead:
"The amount of shared memory dedicated to buffering writes to the WAL.
The default is 64 kilobytes (64kB), which is low for a busy production
server. Users who have high write concurrency, or transactions which
commit individual large data writes, will want to increase it to between
1MB and 16MB. This parameter can only be set at server start."
--
-- Josh Berkus
PostgreSQL Experts Inc.
http://www.pgexperts.com
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: josh@agliodbs.com
Subject: Re: Wrong docs on wal_buffers?
In-Reply-To: <4D24D7DE.6020507@agliodbs.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox