Re: The shared buffers challenge

Поиск
Список
Период
Сортировка
От Merlin Moncure
Тема Re: The shared buffers challenge
Дата
Msg-id BANLkTimt5Y6knQc+hdcR=nm+Sw9_JhGH0Q@mail.gmail.com
обсуждение исходный текст
Ответ на Re: The shared buffers challenge  (Greg Smith <greg@2ndquadrant.com>)
Ответы Re: The shared buffers challenge  (Greg Smith <greg@2ndquadrant.com>)
Список pgsql-performance
On Thu, May 26, 2011 at 6:10 PM, Greg Smith <greg@2ndquadrant.com> wrote:
> Merlin Moncure wrote:
>>
>> So, the challenge is this: I'd like to see repeatable test cases that
>> demonstrate regular performance gains > 20%.  Double bonus points for
>> cases that show gains > 50%.
>
> Do I run around challenging your suggestions and giving you homework?  You
> have no idea how much eye rolling this whole message provoked from me.

That's just plain unfair: I didn't challenge your suggestion nor give
you homework. In particular, I'm not suggesting the 25%-ish default is
wrong -- but trying to help people understand why it's there and what
it's doing.  I bet 19 people out of 20 could not explain what the
primary effects of shared_buffers with any degree of accuracy.  That
group of people in fact would have included me until recently, when I
started studying bufmgr.c for mostly unrelated reasons.  Understand my
basic points:

*) the documentation should really explain this better (in particular,
it should debunk the myth 'more buffers = more caching')
*) the 'what' is not nearly so important as the 'why'
*) the popular understanding of what buffers do is totally, completely, wrong
*) I'd like to gather cases to benchmark changes that interact with
these settings
*) I think you are fighting the 'good fight'. I'm trying to help

> OK, so the key thing to do is create a table such that shared_buffers is
> smaller than the primary key index on a table, then UPDATE that table
> furiously.  This will page constantly out of the buffer cache to the OS one,
> doing work that could be avoided.  Increase shared_buffers to where it fits
> instead, and all the index writes are buffered to write only once per
> checkpoint.  Server settings to exaggerate the effect:

This is exactly what I'm looking for...that's really quite striking.
I knew that buffer 'hit' before it goes out the door is what to gun
for.

> As for figuring out how this impacts more complicated cases, I hear somebody
> wrote a book or something that went into pages and pages of detail about all
> this.  You might want to check it out.

so i've heard: http://imgur.com/lGOqx (and yes: I 100% endorse the
book: everyone who is serious about postgres should own a copy).
Anyways, double points to you ;-).

merlin

В списке pgsql-performance по дате отправления:

Предыдущее
От: "Kevin Grittner"
Дата:
Сообщение: Re: serveRAID M5014 SAS
Следующее
От: Scott Carey
Дата:
Сообщение: Re: The shared buffers challenge