Re: SLRU statistics
Alvaro Herrera <alvherre@2ndquadrant.com>
From: Alvaro Herrera <alvherre@2ndquadrant.com>
To: Tomas Vondra <tomas.vondra@2ndquadrant.com>
Cc: Masahiko Sawada <masahiko.sawada@2ndquadrant.com>, "tsunakawa.takay@fujitsu.com" <tsunakawa.takay@fujitsu.com>, "pgsql-hackers@postgresql.org" <pgsql-hackers@postgresql.org>
Date: 2020-02-28T23:19:18Z
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 →
-
Fix async.c to not register any SLRU stats counts in the postmaster.
- 7fd89f4d7a51 13.0 landed
-
Use proper GetDatum function in pg_stat_get_slru().
- 043e3e040160 13.0 landed
-
Initialize SLRU stats entries to zero.
- f3d23d83ef9a 13.0 landed
-
Remove pg_xact from pg_stat_reset_slru docs
- e685ca63ca4f 13.0 landed
-
Remove pg_xact entry from SLRU stats
- 2e08d314ed07 13.0 landed
-
Track SLRU page hits in SimpleLruReadPage_ReadOnly
- 2b88fdde30d8 13.0 landed
-
Fix typo in SLRU stats documentation
- 2c220ca46f3f 13.0 landed
-
Collect statistics about SLRU caches
- 28cac71bd368 13.0 landed
-
Simplify and rename some GUC variables, per various recent discussions:
- 48f7e6439568 8.3.0 cited
On 2020-Jan-21, Tomas Vondra wrote: > On Tue, Jan 21, 2020 at 05:09:33PM +0900, Masahiko Sawada wrote: > > 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. I disagree with adding a GUC. If a performance impact can be measured let's turn the functions to static inline, as already proposed. My guess is that pgstat_count_slru_page_hit() is the only candidate for that; all the other paths involve I/O or lock acquisition or even WAL generation, so the impact won't be measurable anyhow. We removed track-enabling GUCs years ago. BTW, this comment: /* update the stats counter of pages found in shared buffers */ is not strictly true, because we don't use what we normally call "shared buffers" for SLRUs. Patch applies cleanly. I suggest to move the page_miss() call until after SlruRecentlyUsed(), for consistency with the other case. I find SlruType pretty odd, and the accompanying "if" list in pg_stat_get_slru() correspondingly so. Would it be possible to have each SLRU enumerate itself somehow? Maybe add the name in SlruCtlData and query that, somehow. (I don't think we have an array of SlruCtlData anywhere though, so this might be a useless idea.) -- Álvaro Herrera https://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services