Re: pgstat_send_connstats() introduces unnecessary timestamp and UDP overhead

Andres Freund <andres@anarazel.de>

From: Andres Freund <andres@anarazel.de>
To: Justin Pryzby <pryzby@telsasoft.com>
Cc: Laurenz Albe <laurenz.albe@cybertec.at>, Magnus Hagander <magnus@hagander.net>, pgsql-hackers@postgresql.org
Date: 2021-08-25T08:17:19Z
Lists: pgsql-hackers
Hi,

On 2021-08-20 14:27:20 -0500, Justin Pryzby wrote:
> On Tue, Aug 17, 2021 at 02:14:20AM -0700, Andres Freund wrote:
> > Doubling the number of UDP messages in common workloads seems also problematic
> > enough that it should be addressed for 14. It increases the likelihood of
> > dropping stats messages on busy systems, which can have downstream impacts.
> 
> I think by "common workloads" you mean one with many, shortlived sessions.

You don't need short-lived sessions. You just need sessions that don't
process queries all the time (so that there's only one or a few queries
within each PGSTAT_STAT_INTERVAL). The connection stats aren't sent once
per session, they're sent once per PGSTAT_STAT_INTERVAL.

Greetings,

Andres Freund



Commits

  1. Fix performance regression from session statistics.

  2. Add pg_stat_database counters for sessions and session time