On 2017-02-27 15:08, Petr Jelinek wrote:
The performance was why in original patch I wanted the apply process to
default to synchronous_commit = off as without it the apply performance
(due to applying transactions individually and in sequences) is quite
lackluster.
It can be worked around using user that has synchronous_commit = off
set
via ALTER ROLE as owner of the subscription.
Wow, that's a huge difference in speed.
I set
ALTER ROLE aardvark synchronous_commit = off;
during the first iteration of a 10x pgbench-test (so the first was still
done with it 'on'):
here the pertinent grep | uniq -c lines:
-- out_20170228_0004.txt
10 -- pgbench -c 16 -j 8 -T 900 -P 180 -n -- scale 25
10 -- All is well.
1 -- 1325 seconds total.
9 -- 5 seconds total.
And that 5 seconds is a hardcoded wait; so it's probably even quicker.
This is a slowish machine but that's a really spectacular difference.
It's the difference between keeping up or getting lost.
Would you remind me why synchronous_commit = on was deemed a better
default? This thread isn't very clear about it (not the 'logical
replication WIP' thread).
thanks,
Erik Rijkers
--
Sent via pgsql-hackers mailing list (pgsql-hackers@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-hackers