Re: [HACKERS] Proposal for CSN based snapshots - Mailing list pgsql-hackers

From Alexander Kuzmenkov
Subject Re: [HACKERS] Proposal for CSN based snapshots
Date
Msg-id b144ee02-c5c4-f377-5f94-614272f1a76d@postgrespro.ru
Whole thread Raw
In response to Re: [HACKERS] Proposal for CSN based snapshots  (Alexander Kuzmenkov <a.kuzmenkov@postgrespro.ru>)
Responses Re: [HACKERS] Proposal for CSN based snapshots
List pgsql-hackers
Here is some news about the CSN patch.

* I merged it with master (58bd60995f), which now has the clog group 
update. With this optimization, CSN is now faster than the master by 
about 15% on 100 to 400 clients (72 cores, pgbench tpcb-like, scale 
500). It does not degrade faster than master as it did before. The 
numbers of clients greater than 400 were not measured.

* Querying for CSN of subtransactions was not implemented in the 
previous version of the patch, so I added it. I tested the performance 
on the tpcb-like pgbench script with some savepoints added, and it was 
significantly worse than on the master. The main culprit seems to be the 
ProcArrayLock taken in GetSnapshotData, GetRecentGlobalXmin, 
ProcArrayEndTransaction. Although it is only taken in shared mode, just 
reading the current lock mode and writing the same value back takes 
about 10% CPU. Maybe we could do away with some of these locks, but 
there is some interplay with imported snapshots and replication slots 
which I don't understand well. I plan to investigate this next.

I am attaching the latest version of the patch and the graphs of 
tps/clients for tpcb and tpcb with savepoints.

-- 
Alexander Kuzmenkov
Postgres Professional: http://www.postgrespro.com
The Russian Postgres Company


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

Attachment

pgsql-hackers by date:

Previous
From: Tom Lane
Date:
Subject: Re: [HACKERS] [BUGS] BUG #14825: enum type: unsafe use?
Next
From: Peter Eisentraut
Date:
Subject: Re: [JDBC] [HACKERS] Channel binding support for SCRAM-SHA-256