Re: SLRU statistics

Tomas Vondra <tomas.vondra@2ndquadrant.com>

From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
To: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>
Cc: "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-01-21T13:56:14Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Fix async.c to not register any SLRU stats counts in the postmaster.

  2. Use proper GetDatum function in pg_stat_get_slru().

  3. Initialize SLRU stats entries to zero.

  4. Remove pg_xact from pg_stat_reset_slru docs

  5. Remove pg_xact entry from SLRU stats

  6. Track SLRU page hits in SimpleLruReadPage_ReadOnly

  7. Fix typo in SLRU stats documentation

  8. Collect statistics about SLRU caches

  9. Simplify and rename some GUC variables, per various recent discussions:

On Tue, Jan 21, 2020 at 05:09:33PM +0900, Masahiko Sawada wrote:
>On Tue, 21 Jan 2020 at 01:38, Tomas Vondra <tomas.vondra@2ndquadrant.com> wrote:
>>
>> On Mon, Jan 20, 2020 at 01:04:33AM +0000, tsunakawa.takay@fujitsu.com wrote:
>> >From: Tomas Vondra <tomas.vondra@2ndquadrant.com>
>> >> One of the stats I occasionally wanted to know are stats for the SLRU
>> >> stats (we have couple of those - clog, subtrans, ...). So here is a WIP
>> >> version of a patch adding that.
>
>+1
>
>> >
>> >How can users take advantage of this information?  I think we also need
>> >the ability to set the size of SLRU buffers.  (I want to be freed from
>> >the concern about the buffer shortage by setting the buffer size to its
>> >maximum.  For example, CLOG would be only 1 GB.)
>> >
>>
>> You're right the users can't really take advantage of this - my primary
>> motivation was providing a feedback for devs, benchmarking etc. That
>> might have been done with DEBUG messages or something, but this seems
>> more convenient.
>
>I've not tested the performance impact but perhaps we might want to
>disable these counter by default and controlled by a GUC. And similar
>to buffer statistics it might be better to inline
>pgstat_count_slru_page_xxx function for better performance.
>

Hmmm, yeah. Inlining seems like a good idea, and maybe we should have
something like track_slru GUC.


regards

-- 
Tomas Vondra                  http://www.2ndQuadrant.com
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services