Re: Speedup twophase transactions
Nikhil Sontakke <nikhils@2ndquadrant.com>
From: Nikhil Sontakke <nikhils@2ndquadrant.com>
To: Michael Paquier <michael.paquier@gmail.com>
Cc: Stas Kelvich <s.kelvich@postgrespro.ru>,
Simon Riggs <simon@2ndquadrant.com>, PostgreSQL mailing lists <pgsql-hackers@postgresql.org>,
Jesper Pedersen <jesper.pedersen@redhat.com>, Robert Haas <robertmhaas@gmail.com>
Date: 2017-01-24T11:08:07Z
Lists: pgsql-hackers
>> Speeding up recovery or failover activity via a faster promote is a >> desirable thing. So, maybe, we should look at teaching the relevant >> code about using "KnownPreparedList"? I know that would increase the >> size of this patch and would mean more testing, but this seems to be >> last remaining optimization in this code path. > > That's a good idea, worth having in this patch. Actually we may not > want to call KnownPreparedRecreateFiles() here as promotion is not > synonym of end-of-recovery checkpoint for a couple of releases now. > Once implemented, a good way to performance test this could be to set checkpoint_timeout to a a large value like an hour. Then, generate enough 2PC WAL while ensuring that a checkpoint does not happen automatically or otherwise. We could then measure the time taken to recover on startup to see the efficacy. > Most of the 2PC syncs just won't happen, such transactions normally > don't last long, and the number you would get during a checkpoint is > largely lower than what would happen between two checkpoints. When > working on Postgres-XC, the number of 2PC was really more funky. > Yes, postgres-xl is full of 2PC, so hopefully this optimization should help a lot in that case as well. Regards, Nikhils -- Nikhil Sontakke http://www.2ndQuadrant.com/ PostgreSQL Development, 24x7 Support, Training & Services
Commits
-
Speedup 2PC recovery by skipping two phase state files in normal path
- 728bd991c3c4 10.0 landed
-
Add tests for two-phase commit
- 30820982b295 10.0 landed
-
Improve grammar of message about two-phase state files.
- 38c363adf497 10.0 landed
-
Speedup 2PC by skipping two phase state files in normal path
- 978b2f65aa12 9.6.0 cited