Re: scalability bottlenecks with (many) partitions (and more)
David Rowley <dgrowleyml@gmail.com>
From: David Rowley <dgrowleyml@gmail.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Tomas Vondra <tomas@vondra.me>, PostgreSQL Hackers <pgsql-hackers@lists.postgresql.org>,
Andres Freund <andres@anarazel.de>
Date: 2024-09-04T15:12:48Z
Lists: pgsql-hackers
Commits
Same data as JSON:
GET /api/v1/messages/:b64id/commits
the thread's linked commits as JSON, with link sources.
API reference →
-
Make FP_LOCK_SLOTS_PER_BACKEND look like a function
- c878de1db438 18.0 landed
-
Fix asserts in fast-path locking code
- a7e5237f268e 18.0 landed
-
Increase the number of fast-path lock slots
- c4d5cb71d229 18.0 landed
On Wed, 4 Sept 2024 at 03:06, Robert Haas <robertmhaas@gmail.com> wrote: > > On Mon, Sep 2, 2024 at 1:46 PM Tomas Vondra <tomas@vondra.me> wrote: > > But say we add a GUC and set it to -1 by default, in which case it just > > inherits the max_locks_per_transaction value. And then also provide some > > basic metric about this fast-path cache, so that people can tune this? > > All things being equal, I would prefer not to add another GUC for > this, but we might need it. I think driving the array size from max_locks_per_transaction is a good idea (rounded up to the next multiple of 16?). If someone comes along one day and shows us a compelling case where some backend needs more than its fair share of locks and performance is bad because of that, then maybe we can consider adding a GUC then. Certainly, it's much easier to add a GUC later if someone convinces us that it's a good idea than it is to add it now and try to take it away in the future if we realise it's not useful enough to keep. David