Re: Reduced power consumption in WAL Writer process

From: Simon Riggs <simon(at)2ndQuadrant(dot)com>
To: Fujii Masao <masao(dot)fujii(at)gmail(dot)com>
Cc: Peter Geoghegan <peter(at)2ndquadrant(dot)com>, PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Reduced power consumption in WAL Writer process
Date: 2011-07-14 09:42:03
Message-ID: CA+U5nMLvkZX94BQu+DFriz+9+wa3CzqQLqDSeoEW9-TZrOGGCg@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Thu, Jul 14, 2011 at 9:57 AM, Fujii Masao <masao(dot)fujii(at)gmail(dot)com> wrote:

> Currently walwriter might write out the WAL before a transaction commits.
> IOW, walwriter tries to write out the WAL in wal_buffers in every wakeups.
> This might be useful for long transaction which generates lots of WAL
> records before commit. So we should call SetLatch() in XLogInsert() instead
> of RecordTransactionCommit()? Though I'm not sure how much walwriter
> improves the performance of synchronous commit case..

Yeh, we did previously have a heuristic to write out the WAL when it
was more than half full. Not sure I want to put exactly that code back
into such a busy code path.

I suggest that we set latch every time the wal buffers wrap.

So at the bottom of AdvanceXLInsertBuffer(), if nextidx == 0 then
SetLatch on the WALWriter.

That's a simple test and we only check it if we're switch WAL buffer page.

--
 Simon Riggs                   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training & Services

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Heikki Linnakangas 2011-07-14 09:53:09 Re: Reduced power consumption in WAL Writer process
Previous Message Alexander Korotkov 2011-07-14 09:41:27 Re: WIP: Fast GiST index build