Re: Clock sweep not caching enough B-Tree leaf pages?

Robert Haas <robertmhaas@gmail.com>

From: Robert Haas <robertmhaas@gmail.com>
To: Peter Geoghegan <pg@heroku.com>
Cc: Tom Lane <tgl@sss.pgh.pa.us>, Merlin Moncure <mmoncure@gmail.com>, Pg Hackers <pgsql-hackers@postgresql.org>
Date: 2015-04-15T02:02:49Z
Lists: pgsql-hackers
On Tue, Apr 14, 2015 at 6:22 PM, Peter Geoghegan <pg@heroku.com> wrote:
> Why is that good?

We did discuss this before.  I've recapped some of what I believe to
be the most salient points below.

> I think that people were all too quick to dismiss the idea of a wall
> time interval playing some role here (at least as a defense against
> correlated references, as a correlated reference period). I suppose
> that that's because it doesn't fit with an intuition that says that
> that kind of interval ought to be derived algebraically - magic delay
> settings are considered suspect.

Yep, Tom gave that reason here:

http://www.postgresql.org/message-id/11258.1397673898@sss.pgh.pa.us

But there was also this point from Andres - gettimeofday is not free:

http://www.postgresql.org/message-id/20140416075307.GC3906@awork2.anarazel.de

And this point from me - this can degrade to random eviction under
high pressure:

http://www.postgresql.org/message-id/CA+TgmoayUxr55zuEaPP6d2XByicJWACC9Myyn5aT4TiNdSJqYw@mail.gmail.com

You'll notice that my proposal avoids all three of those objections.

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


Commits

  1. Replace the BufMgrLock with separate locks on the lookup hashtable and