On 2020/10/01 10:50, tsunakawa.ta...@fujitsu.com wrote:
From: Kyotaro Horiguchi <horikyota....@gmail.com>
Another reason that I mildly want to object to subdivided functions is
I was annoyed that a stats view makes many individual calls to
functions that internally share the same statistics entry.  That
behavior required me to provide an entry-caching feature to my
shared-memory statistics patch.

+1
The views for troubleshooting performance problems should be as light as 
possible.  IIRC, we saw  frequently searching pg_stat_replication consume 
unexpectedly high CPU power, because it calls pg_stat_get_activity(null) to get 
all sessions and join them with the walsenders.  At that time, we had hundreds 
of client sessions.  We expected pg_stat_replication to be very lightweight 
because it provides information about a few walsenders.

I think that we can improve that, for example, by storing backend id
into WalSndCtl and making pg_stat_get_wal_senders() directly
get the walsender's LocalPgBackendStatus with the backend id,
rather than joining pg_stat_get_activity() and pg_stat_get_wal_senders().

Regards,

--
Fujii Masao
Advanced Computing Technology Center
Research and Development Headquarters
NTT DATA CORPORATION


Reply via email to