Re: Proposal: Filter irrelevant change before reassemble transactions during logical decoding - Mailing list pgsql-hackers

From Amit Kapila
Subject Re: Proposal: Filter irrelevant change before reassemble transactions during logical decoding
Date
Msg-id CAA4eK1KYhBHj5pCsTXvSJRyBOQ9oi=j1X=FeTg7c8cBMYWUscw@mail.gmail.com
Whole thread Raw
In response to Re: Proposal: Filter irrelevant change before reassemble transactions during logical decoding  (Ajin Cherian <itsajin@gmail.com>)
List pgsql-hackers
On Fri, May 30, 2025 at 4:41 PM Ajin Cherian <itsajin@gmail.com> wrote:
>
> I ran a series of tests using both streaming and non-streaming logical
> replication modes with the patch. In non-streaming mode, the patch
> showed a significant performance improvement — up to +68% in the best
> case, with a -6% regression in the worst case.
>
> In contrast, results in streaming mode were more modest. With the
> default logical_decoding_work_mem of 64MB, I observed a +11.6%
> improvement at best and a -6.7% degradation at worst. Increasing the
> work memory provided some incremental improvements:
>
> At 128MB: +14.43% (best), -0.65% (worst)
>
> At 256MB: +12.55% (best), -0.03% (worst)
>
> At 512MB: +16.98% (best), -2.48% (worst)
>
> It's worth noting that streaming mode is enabled by default in logical
> decoding, and as such, it's likely the mode most users and
> applications are operating in. Non-streaming mode is typically only
> used in more specialized setups or older deployments. Given this, the
> broader benefit of the patch - especially considering its complexity,
> may depend on how widely non-streaming mode is used in practice.
>

You haven't shared the exact test scenario, but I am assuming the
above tests are for very large transactions, as you are comparing
streaming and non-streaming modes. Can we see results with short
transaction size (say one insert or one update, or one delete) as
well?

--
With Regards,
Amit Kapila.



pgsql-hackers by date:

Previous
From: Michael Paquier
Date:
Subject: Re: bt_index_parent_check and concurrently build indexes
Next
From: Michael Banck
Date:
Subject: Re: Add log_autovacuum_{vacuum|analyze}_min_duration