Re: Spreading full-page writes - Mailing list pgsql-hackers

From Robert Haas
Subject Re: Spreading full-page writes
Date
Msg-id CA+TgmoYtQy=oq_MMzxHuoAditVeo5fkV3zQXH9xPeiXifrRdmg@mail.gmail.com
Whole thread Raw
In response to Re: Spreading full-page writes  (Heikki Linnakangas <hlinnakangas@vmware.com>)
List pgsql-hackers
On Tue, May 27, 2014 at 8:15 AM, Heikki Linnakangas
<hlinnakangas@vmware.com> wrote:
> Since you will be flushing the buffers one "redo partition" at a time, you
> would want to allow the OS to do merge the writes within a partition as much
> as possible. So my even-odd split would in fact be pretty bad. Some sort of
> striping, e.g. mapping each contiguous 1 MB chunk to the same partition,
> would be better.

I suspect you'd actually want to stripe by segment (1GB partition).
If you striped by 1MB partitions, there might still be writes to the
parts of the file you weren't checkpointing that would be flushed by
the fsync().  That would lead to more physical I/O overall, if those
pages were written again before you did the next half-checkpoint.

-- 
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company



pgsql-hackers by date:

Previous
From: Robert Haas
Date:
Subject: Re: fix worker_spi to run as non-dynamic background worker
Next
From: Robert Haas
Date:
Subject: Re: postgres_fdw and connection management