On 2017-06-14 15:08:49 -0700, Jeff Janes wrote: > On Wed, Jun 14, 2017 at 11:55 AM, Jeff Janes <jeff.ja...@gmail.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 -- Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-hackers