Re: Separating bgwriter and checkpointer

From: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>
To: Simon Riggs <simon(at)2ndQuadrant(dot)com>
Cc: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, "Dickson S(dot) Guedes" <listas(at)guedesoft(dot)net>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Separating bgwriter and checkpointer
Date: 2011-10-24 10:40:53
Message-ID: 4EA540B5.2050006@enterprisedb.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 19.10.2011 17:58, Simon Riggs wrote:
> On Wed, Oct 19, 2011 at 3:29 PM, Fujii Masao<masao(dot)fujii(at)gmail(dot)com> wrote:
>> On Wed, Oct 19, 2011 at 9:45 PM, Robert Haas<robertmhaas(at)gmail(dot)com> wrote:
>>> I don't really see any reason to break the monitoring view just
>>> because we did some internal refactoring. I'd rather have backward
>>> compatibility.
>>
>> Fair enough.
>>
>> The patch doesn't change any document, but at least the description
>> of pg_stat_bgwriter seems to need to be changed.
>
> Thanks for the review.
>
> Will follow up on suggestions.

The patch looks sane, it's mostly just moving existing code around, but
there's one thing that's been bothering me about this whole idea from
the get-go:

If the bgwriter and checkpointer are two different processes, whenever
bgwriter writes out a page it needs to send an fsync-request to the
checkpointer. We avoided that when both functions were performed by the
same process, but now we have to send and absorb a fsync-request message
for every single write() that happens in the system, except for those
done at checkpoints. Isn't that very expensive? Does it make the
fsync-request queue a bottleneck on some workloads?

--
Heikki Linnakangas
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Alexander Korotkov 2011-10-24 11:05:15 Re: GiST for range types (was Re: Range Types - typo + NULL string constructor)
Previous Message Heikki Linnakangas 2011-10-24 10:15:03 Re: Range Types - typo + NULL string constructor