Re: Buffer Requests Trace - Mailing list pgsql-hackers

From Stephen Frost
Subject Re: Buffer Requests Trace
Date
Msg-id 20141014174059.GA28859@tamriel.snowman.net
Whole thread Raw
In response to Re: Buffer Requests Trace  (Lucas Lersch <lucaslersch@gmail.com>)
List pgsql-hackers
* Lucas Lersch (lucaslersch@gmail.com) wrote:
> I see this... but ReleaseBuffer() simply decrements the reference count of
> page the buffer currently holds. Assuming that a ReadBuffer() -
> ReleaseBuffer() pattern is used for interacting with the shared_buffers,
> there will be a ReleaseBuffer() call for any page (heap or index) "loaded"
> into the shared_buffers.

Not sure what you're getting at here.  This was the original comment
that I was addressing:

-----------
Unfortunately, in the generated trace with over 2 million buffer requests,
only ~14k different pages are being accessed, out of the 800k of the whole
database. Am I missing something here?
-----------

So, there's 2MM buffer requests with only ~14k different pages even
though the database consists of ~800k different pages.

Either your short benchmark is only hitting ~14k different pages out of
the ~800k, or what you're actually looking at are the ~14k pages (eh,
more like 16k, but whatever) of the shared_buffer cache.  Somewhere in
your analysis of the 2MM buffer requests you reduced the set of buffer
requests down to the set of "~14k different pages" that you're asking
about here.

What would be helpful here would be actual code changes you made (eg: a
patch), the resulting buffer request data (or at least a snippet of it),
and exactly how you did your analysis to come up with the ~14k number.
Thanks
    Stephen

pgsql-hackers by date:

Previous
From: Lucas Lersch
Date:
Subject: Re: Buffer Requests Trace
Next
From: Alvaro Herrera
Date:
Subject: Re: pg_dump refactor patch to remove global variables