On Tue, Feb 18, 2025 at 2:24 PM vignesh C <vignes...@gmail.com> wrote:
>
> On Fri, 14 Feb 2025 at 15:36, Amit Kapila <amit.kapil...@gmail.com> wrote:
> >
> > Did you try to measure the performance impact of this change? We can
> > try a few cases where DDL and DMLs are involved, missing publication
> > (drop publication and recreate after a varying number of records to
> > check the impact).
>
> Since we don't have an exact scenario to compare with the patch
> (because, in the current HEAD, when the publication is missing, an
> error is thrown and the walsender/worker restarts), I compared the
> positive case, where records are successfully replicated to the
> subscriber, as shown below. For the scenario with the patch, I ran the
> same test, where the publication is dropped before the insert,
> allowing the walsender to check whether the publication is present.
> The test results, which represent the median of 7 runs and the
> execution run is in milliseconds, are provided below:
>
> Brach/records  |  100     |  1000   |  10000     |  100000  |  1000000
> Head               |   1.214  |  2.548  |  10.823    |  90.3       |  951.833
> Patch              |   1.215  |  2.5485 |  10.8545 |  90.94     |   955.134
> % diff              |   0.082  |   0.020   |   0.291   |   0.704    |    0.347
>
> I noticed that the test run with patches is very negligible. The
> scripts used for execution are attached.
>

You have used the synchronous_standby_name to evaluate the performance
which covers other parts of replication than the logical decoding. It
would be better to test using pg_recvlogical.

-- 
With Regards,
Amit Kapila.


Reply via email to