Feedback: Experimental PostgreSQL Vacuum Monitoring

Hi Percona,

PMM 2.31.0 introduces a new experimental PostgreSQL Vacuum Monitoring dashboard.
This dashboard has the same issues as the PostgreSQL table size we had in the past (lab or experimental, I don’t remember now). In real life we will have hundreds of tables (or thousands) in a PostgreSQL instance, and most of us will also have hundreds of servers… This translates in a massive number of metrics in VictoriaMetrics, with a huge resources impact.

I think we definitely need a summary for vacuum (maybe at the database level, that would be a few metrics).
But, going to the table level, we should have an option to disable this kind of detail (or have it disabled by default and offer an option to enable in small shops).

Thank you,

2 Likes

Hi Francisco,

Thank you for dedicating the time to test the vacuum dashboard.

During our QA phase, we did test the performance of it by forcing vacuums (actually forcing dead tuples by updates/deletes) on 500 instances with 10000 tables each one and we did have positive results.
We also tested in on a beta customer with 2000 postgres instances and tables per instances between hundreds and thousands and also the outcome was positive

what’s your database fleet looks like ? which version of pg are you mainly running?

Can you also elaborate more on the resource impact you are describing? is it over the postgresql_exporter? the pmm-server? or the pg instance itself? if you can share some graphs also it will be helpful

Cheers!

2 Likes

Hi Daniel,

I think you can view the impact under the Insight > VictoriaMetrics dashboard, with a before/after comparison.
The impact is only over the PMM server processes; impact in the database/agent side is almost nothing.

We will have metrics like pg_stat_user_tables_n_live_tup with 1 different label for each table in the agent servers.
In our tests this causes VM to use lot of space for space and indexes, and slows down the monitoring.
Our workaround has been to revoke connect on the PostgreSQL databases, other than “postgres”. This reduces what we can see, of course. We keep the instance metrics, but we loose the different databases metrics.

1 Like

Hi Daniel,
I am not able to see the data for “Experimental/PostgreSQL Vacuum Monitoring” for onprem database and for cloudsql instance its able to pull the data though. Please find attached screenshot. Is there anything need to be done to enable “Experimental/PostgreSQL Vacuum Monitoring”?

Appreciate your help!

1 Like