On Mon, 16 Mar 2009, Gregory Stark wrote:
Why would checkpoints force out any data? It would dirty those pages and then sync the files marking them clean, but they should still live on in the filesystem cache.
The bulk of the buffer churn in pgbench is from the statement that updates a row in the accounts table. That constantly generates updated data block and index block pages. If you can keep those changes in RAM for a while before forcing them to disk, you can get a lot of benefit from write coalescing that goes away if constant checkpoints push things out with a fsync behind them.
Not taking advantage of that effectively reduces the size of the OS cache, because you end up with a lot of space holding pending writes that wouldn't need to happen at all yet were the checkpoints spaced out better.
-- * Greg Smith gsmith@xxxxxxxxxxxxx http://www.gregsmith.com Baltimore, MD -- Sent via pgsql-performance mailing list (pgsql-performance@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-performance