Le 15/02/2021 à 18:17, Andrey Borodin a écrit :

23 дек. 2020 г., в 21:31, Gilles Darold <gil...@darold.net> написал(а):

Sorry for the response delay, we have run several others tests trying to figure 
out the performances gain per patch but unfortunately we have very heratic 
results. With the same parameters and patches the test doesn't returns the same 
results following the day or the hour of the day. This is very frustrating and 
I suppose that this is related to the Azure architecture. The only thing that I 
am sure is that we had the best performances results with all patches and

multixact_offsets_slru_buffers = 256
multixact_members_slru_buffers = 512
multixact_local_cache_entries = 4096


but I can not say if all or part of the patches are improving the performances. 
My feeling is that performances gain related to patches 1 (shared lock) and 3 
(conditional variable) do not have much to do with the performances gain 
compared to just tuning the multixact buffers. This is when the multixact 
contention is observed but perhaps they are delaying the contention. It's all 
the more frustrating that we had a test case to reproduce the contention but 
not the architecture apparently.
Hi! Thanks for the input.
I think we have a consensus here that configuring SLRU size is beneficial for 
MultiXacts.
There is proposal in nearby thread [0] on changing default value of commit_ts 
SLRU buffers.
In my experience from time to time there can be problems with subtransactions 
cured by extending subtrans SLRU.

Let's make all SLRUs configurable?
PFA patch with draft of these changes.

Best regards, Andrey Borodin.


[0] 
https://www.postgresql.org/message-id/flat/20210115220744.GA24457%40alvherre.pgsql


The patch doesn't apply anymore in master cause of error: patch failed: src/backend/utils/init/globals.c:150


An other remark about this patch is that it should be mentionned in the documentation (doc/src/sgml/config.sgml) that the new configuration variables need a server restart, for example by adding "This parameter can only be set at server start." like for shared_buffers. Patch on postgresql.conf mention it.

And some typo to be fixed:


   s/Tipically/Typically/

   s/asincronous/asyncronous/

   s/confugured/configured/

   s/substrnsactions/substransactions/


--
Gilles Darold
LzLabs GmbH

Reply via email to