Reducing walreceiver latency with a latch
Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: PostgreSQL-development <pgsql-hackers@postgreSQL.org>
Date: 2010-09-13T11:40:15Z
Lists: pgsql-hackers
Attachments
- walreceiver-latch-1.patch (text/x-diff) patch
Now that we have the wonderful latch facility, let's use it to reduce the delay between receiving a piece of WAL and applying in the standby. Currently, the startup process polls every 100ms to see if new WAL has arrived, which adds an average a 50 ms delay between a transaction commit in the master and it appearing as committed in a hot standby server. The latch patch eliminated a similar polling delay in walsender already, the attached patch does the same for walreceiver. After this patch, there is no unnecessary delays in the streaming replication code path. Note that this is all still asynchronous, just with reduced latency. This is pretty straightforward, but any comments? -- Heikki Linnakangas EnterpriseDB http://www.enterprisedb.com