Re: [COMMITTERS] pgsql: Make walsender more responsive. - Mailing list pgsql-hackers

From Fujii Masao
Subject Re: [COMMITTERS] pgsql: Make walsender more responsive.
Date
Msg-id CAHGQGwF4=d8XpW5bwUTn=eanpg9E+t-FM_L597WcJ4adx8K5-Q@mail.gmail.com
Whole thread Raw
Responses Re: [COMMITTERS] pgsql: Make walsender more responsive.  (Andres Freund <andres@2ndquadrant.com>)
List pgsql-hackers
On Mon, Jul 2, 2012 at 10:49 PM, Robert Haas <rhaas@postgresql.org> wrote:
> Make walsender more responsive.
>
> Per testing by Andres Freund, this improves replication performance
> and reduces replication latency and latency jitter.  I was a bit
> concerned about moving more work into XLogInsert, but testing seems
> to show that it's not a problem in practice.
>
> Along the way, improve comments for WaitLatchOrSocket.

This commit makes the synchronous replication slow down very much
when wal_sync_method is set to open_sync or open_datasync. I think
the attached patch needs to be applied.

+#define WalSndWakeupProcessRequests()        \
+    do                                        \
+    {                                        \
+        if (wake_wal_senders)                \
+        {                                    \
+            wake_wal_senders = false;        \
+            if (max_wal_senders > 0)        \
+                WalSndWakeup();                \
+        }                                    \
+    } while (0)

I'm not sure it's really worth doing, but isn't it good idea to test
max_wal_sender > 0 first to eliminate any CPU cycle in non replication case?

Regards,

--
Fujii Masao

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: spinlock->pthread_mutex : first results with Jeff's pgbench+plsql
Next
From: Andres Freund
Date:
Subject: Re: [COMMITTERS] pgsql: Make walsender more responsive.