From: | Andres Freund <andres(at)anarazel(dot)de> |
---|---|
To: | Jeff Janes <jeff(dot)janes(at)gmail(dot)com> |
Cc: | pgsql-hackers <pgsql-hackers(at)postgresql(dot)org> |
Subject: | Re: subscription worker signalling wal writer too much |
Date: | 2017-06-14 22:20:19 |
Message-ID: | 20170614222019.jypjfrb67ssjarhe@alap3.anarazel.de |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-hackers |
On 2017-06-14 15:08:49 -0700, Jeff Janes wrote:
> On Wed, Jun 14, 2017 at 11:55 AM, Jeff Janes <jeff(dot)janes(at)gmail(dot)com> wrote:
>
> > If I publish a pgbench workload and subscribe to it, the subscription
> > worker is signalling the wal writer thousands of times a second, once for
> > every async commit. This has a noticeable performance cost.
> >
>
> I've used a local variable to avoid waking up the wal writer more than once
> for the same page boundary. This reduces the number of wake-ups by about
> 7/8.
Maybe I'm missing something here, but isn't that going to reduce our
guarantees about when asynchronously committed xacts are flushed out?
You can easily fit a number of commits into the same page... As this
isn't specific to logical-rep, I don't think that's ok.
Have you chased down why there's that many wakeups? Normally I'd have
expected that a number of the SetLatch() calls get consolidated
together, but I guess walwriter is "too quick" in waking up and
resetting the latch?
Greetings,
Andres Freund
From | Date | Subject | |
---|---|---|---|
Next Message | Christian Ullrich | 2017-06-14 22:22:43 | Re: Buildfarm failures on woodlouse (in ecpg-check) |
Previous Message | Jeff Janes | 2017-06-14 22:08:49 | Re: subscription worker signalling wal writer too much |