Re: SLRU statistics
От | Tomas Vondra |
---|---|
Тема | Re: SLRU statistics |
Дата | |
Msg-id | 20200502165905.brfxv6dk5vjdbgti@development обсуждение исходный текст |
Ответ на | Re: SLRU statistics (Tomas Vondra <tomas.vondra@2ndquadrant.com>) |
Ответы |
Re: SLRU statistics
|
Список | pgsql-hackers |
On Sat, May 02, 2020 at 12:55:00PM +0200, Tomas Vondra wrote: >On Sat, May 02, 2020 at 03:56:07PM +0900, Fujii Masao wrote: >> >> ... > >>>>Another thing I found is; pgstat_send_slru() should be called also by >>>>other processes than backend? For example, since clog data is flushed >>>>basically by checkpointer, checkpointer seems to need to send slru stats. >>>>Otherwise, pg_stat_slru.flushes would not be updated. >>>> >>> >>>Hmmm, that's a good point. If I understand the issue correctly, the >>>checkpointer accumulates the stats but never really sends them because >>>it never calls pgstat_report_stat/pgstat_send_slru. That's only called >>>from PostgresMain, but not from CheckpointerMain. >> >>Yes. >> >>>I think we could simply add pgstat_send_slru() right after the existing >>>call in CheckpointerMain, right? >> >>Checkpointer sends off activity statistics to the stats collector in >>two places, by calling pgstat_send_bgwriter(). What about calling >>pgstat_send_slru() just after pgstat_send_bgwriter()? >> > >Yep, that's what I proposed. > >>In previous email, I mentioned checkpointer just as an example. >>So probably we need to investigate what process should send slru stats, >>other than checkpointer. I guess that at least autovacuum worker, >>logical replication walsender and parallel query worker (maybe this has >>been already covered by parallel query some mechanisms. Sorry I've >>not checked that) would need to send its slru stats. >> > >Probably. Do you have any other process type in mind? > I've looked at places calling pgstat_send_* functions, and I found thsese places: src/backend/postmaster/bgwriter.c - AFAIK it merely writes out dirty shared buffers, so likely irrelevant. src/backend/postmaster/checkpointer.c - This is what we're already discussing here. src/backend/postmaster/pgarch.c - Seems irrelevant. I'm a bit puzzled why we're not sending any stats from walsender, which I suppose could do various stuff during logical decoding. regards -- Tomas Vondra http://www.2ndQuadrant.com PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services
В списке pgsql-hackers по дате отправления: