Re: Add pg_stat_vfdcache view for VFD cache statistics
KAZAR Ayoub <ma_kazar@esi.dz>
From: KAZAR Ayoub <ma_kazar@esi.dz>
To: David Geier <geidav.pg@gmail.com>
Cc: Jakub Wartak <jakub.wartak@enterprisedb.com>, Pg Hackers <pgsql-hackers@postgresql.org>,
"tomas@vondra.me" <tomas@vondra.me>
Date: 2026-03-29T19:46:52Z
Lists: pgsql-hackers
Attachments
- v2-0001-Add-pg_stat_vfdcache-view-for-VFD-cache-statistics.patch (text/x-patch) patch v2-0001
Rebased v2. On Sun, Mar 29, 2026 at 8:23 PM KAZAR Ayoub <ma_kazar@esi.dz> wrote: > Hello, > On Tue, Mar 24, 2026 at 3:09 PM David Geier <geidav.pg@gmail.com> wrote: > >> On 24.03.2026 00:36, KAZAR Ayoub wrote: >> >> >> I've looked at struct vfd and some simple changes to the struct would >> >> already cut memory consumption in half. I can look into that. >> >> >> >> Thoughts? >> > >> > Looking forward to this. >> >> I try to come up with something the next days. >> >> > What also bothers me in that space is if a backend allocates 100K >> entries >> > in VFD cache, that cache is never shrank ever again, >> > the cache only grows (if it needs more than its lifetime maximum) until >> the >> > backend dies, although this is useful as entries are reused if free >> instead >> > of >> > allocating entries, whether a spike in files openings effects a long >> living >> > backend to keep holding a useless amount of >> > cache size it will need in the future, i don't imagine this to be common >> > though, what do you think about this issue from your experience ? >> >> Currently the cache is directly mapped by the VFD index. That means we >> could only resize down to the maximum used VFD index. >> >> Being able to resize independently of the maximum VFD index would >> require changing to a hash map like simplehash.h. I can take a look how >> invasive such a change would be. > > >> -- >> David Geier >> > I've implemented the recommended global stats view on vfd cache, the > implementation should be also straightforward as it follows the same > cumulative shared statistics infrastructure like pgstat_bgwriter and others > do. > > Attached is v2 patch also contains what David suggested for global cache > size and entries in the view. > > Kind regards, > Ayoub >