From: | Stephen Frost <sfrost(at)snowman(dot)net> |
---|---|
To: | Lucas Lersch <lucaslersch(at)gmail(dot)com> |
Cc: | pgsql-hackers(at)postgresql(dot)org |
Subject: | Re: Buffer Requests Trace |
Date: | 2014-10-14 17:40:59 |
Message-ID: | 20141014174059.GA28859@tamriel.snowman.net |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
* Lucas Lersch (lucaslersch(at)gmail(dot)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
From | Date | Subject | |
---|---|---|---|
Next Message | Alvaro Herrera | 2014-10-14 18:21:20 | Re: pg_dump refactor patch to remove global variables |
Previous Message | Lucas Lersch | 2014-10-14 17:27:44 | Re: Buffer Requests Trace |