Re: [PATCH] fix a performance issue with multiple logical-decoding walsenders - Mailing list pgsql-hackers

From Julien Rouhaud
Subject Re: [PATCH] fix a performance issue with multiple logical-decoding walsenders
Date
Msg-id CAOBaU_ZxJs2VFg=ZP8oKtMAOQP6zfwQ5M1NbzkDavNjBQD_LXQ@mail.gmail.com
Whole thread Raw
In response to Re: [PATCH] fix a performance issue with multiple logical-decoding walsenders  (Pierre Ducroquet <p.psql@pinaraf.info>)
Responses Re: [PATCH] fix a performance issue with multiple logical-decoding walsenders
List pgsql-hackers
On Sat, Dec 28, 2019 at 1:56 PM Pierre Ducroquet <p.psql@pinaraf.info> wrote:
>
> Thank you for your comments.
> Attached to this email is a patch with better comments regarding the
> XLogSendLogical change.

Arguably the first test to compare to InvalidXLogRecPtr is unneeded,
as any value of EndRecPtr is greater or equal than that value.  It
will only save at best 1 GetFlushRecPtr() per walsender process
lifetime, so I'm not sure it's worth arguing about it.  Other than
that I still think that it's a straightforward optimization that
brings nice speedup, and I don't see any problem with this patch.  I
think that given the time of the year you should create a commitfest
entry for this patch to make sure it won't be forgotten (and obviously
I'll mark it as RFC, unless someone objects by then).

> We've spent quite some time yesterday benching it again, this time with
> changes that must be fully processed by the decoder. The speed-up is obviously
> much smaller, we are only ~5% faster than without the patch.

I'm assuming that it's benchmarking done with multiple logical slots?
Anyway, a 5% speedup in the case that this patch is not aimed to
optimize is quite nice!



pgsql-hackers by date:

Previous
From: Alexey Kondratov
Date:
Subject: Re: Physical replication slot advance is not persistent
Next
From: Robert Haas
Date:
Subject: Re: Assert failure due to "drop schema pg_temp_3 cascade" fortemporary tables and \d+ is not showing any info after drooping temp table schema