On Mon, Jul 2, 2012 at 10:49 PM, Robert Haas <rh...@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: bugfix_v1.patch
Description: Binary data

-- 
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers

Reply via email to