Re: Quick idea for reducing VACUUM contention

From: Decibel! <decibel(at)decibel(dot)org>
To: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
Cc: ITAGAKI Takahiro <itagaki(dot)takahiro(at)oss(dot)ntt(dot)co(dot)jp>, Simon Riggs <simon(at)2ndquadrant(dot)com>, pgsql-hackers(at)postgresql(dot)org
Subject: Re: Quick idea for reducing VACUUM contention
Date: 2007-07-31 15:44:35
Message-ID: EE084045-FED7-4764-8D5D-B4F297874567@decibel.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Jul 30, 2007, at 1:47 PM, Alvaro Herrera wrote:
> Jim Nasby wrote:
>> On Jul 27, 2007, at 1:49 AM, Alvaro Herrera wrote:
>>> ITAGAKI Takahiro wrote:
>>> It would be cool if we could do something like sweep a range of
>>> pages,
>>> initiate IO for those that are not in shared buffers, and while
>>> that is
>>> running, lock and clean up the ones that are in shared buffers,
>>> skipping
>>> those that are not lockable right away; when that's done, go back to
>>> those buffers that were gotten from I/O and clean those up. And
>>> retry
>>
>> Would that be substantially easier than just creating a bgreader?
>
> I'm not sure about easier, but I'm not sure that the bgreader can
> do the
> same job. ISTM that the bgreader would be mostly in charge of reading
> in advance of backends, whereas what I'm proposing is mostly about
> finding the best spot for locking. It might turn out to be more
> trouble
> than it's worth though, for sure. And in any case I'm not in a
> hurry to
> implement it.

I was referring specifically to the "read in what's not already in
shared buffers" part of Itagaki-san's message... that seems to be
something best suited for a bgreader.
--
Decibel!, aka Jim Nasby decibel(at)decibel(dot)org
EnterpriseDB http://enterprisedb.com 512.569.9461 (cell)

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Smith 2007-07-31 15:55:00 Re: Machine available for community use
Previous Message Alvaro Herrera 2007-07-31 15:34:15 Re: Reducing Transaction Start/End Contention