Re: proposal: Set effective_cache_size to greater of .conf value, shared_buffers

From: Robert Haas <robertmhaas(at)gmail(dot)com>
To: Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us>
Cc: Claudio Freire <klaussfreire(at)gmail(dot)com>, Merlin Moncure <mmoncure(at)gmail(dot)com>, PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: proposal: Set effective_cache_size to greater of .conf value, shared_buffers
Date: 2013-01-09 00:54:38
Message-ID: CA+TgmobzOK_PHKj5o95hhxH5AAmGCypCi6scia_-DCyw5+-cTw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, Jan 8, 2013 at 7:17 PM, Tom Lane <tgl(at)sss(dot)pgh(dot)pa(dot)us> wrote:
> Robert Haas <robertmhaas(at)gmail(dot)com> writes:
>> On Tue, Jan 8, 2013 at 9:53 AM, Claudio Freire <klaussfreire(at)gmail(dot)com> wrote:
>>> Rather, I'd propose the default setting should be "-1" or something
>>> "default" and "automagic" that works most of the time (but not all).
>
>> A cruder heuristic that might be useful is 3 * shared_buffers.
>
> Both parts of that work for me. It's certainly silly that the default
> value of effective_cache_size is now equivalent to the default value
> of shared_buffers. And I don't especially like the idea of trying to
> make it depend directly on the box's physical RAM, for the same
> practical reasons Robert mentioned.

For the record, I don't believe those problems would be particularly
hard to solve.

> It might be better to use 4 * shared_buffers, as that corresponds to the
> multiple that's been the default since 8.2 or so (ie 128MB vs 32MB), and
> 3x just seems kinda oddball.

I suspect that would be OK, too.

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

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Tom Lane 2013-01-09 00:57:50 Re: [PATCH 2/5] Make relpathbackend return a statically result instead of palloc()'ing it
Previous Message Robert Haas 2013-01-09 00:52:42 Re: [PATCH 2/5] Make relpathbackend return a statically result instead of palloc()'ing it