Re: Speedup twophase transactions

Jesper Pedersen <jesper.pedersen@redhat.com>

From: Jesper Pedersen <jesper.pedersen@redhat.com>
To: Simon Riggs <simon@2ndQuadrant.com>, Stas Kelvich <s.kelvich@postgrespro.ru>
Cc: Alvaro Herrera <alvherre@2ndQuadrant.com>, pgsql-hackers <pgsql-hackers@postgresql.org>
Date: 2016-01-11T18:40:03Z
Lists: pgsql-hackers

Attachments

On 01/09/2016 10:29 AM, Simon Riggs wrote:
> On 9 January 2016 at 12:26, Stas Kelvich <s.kelvich@postgrespro.ru> wrote:
>
>
>> I’ve updated patch and wrote description of thighs that happens
>> with 2PC state data in the beginning of the file. I think now this patch
>> is well documented,
>> but if somebody points me to places that probably requires more detailed
>> description I’m ready
>> to extend that.
>>
>
> Hmm, I was just preparing this for commit.
>
> Please have a look at my mild edits and extended comments.
>

I have done a run with the patch and it looks really great.

Attached is the TPS graph - with a 1pc run too - and the perf profile as 
a flame graph (28C/56T w/ 256Gb mem, 2 x RAID10 SSD).

Maybe

+static void
+XlogReadTwoPhaseData(XLogRecPtr lsn, char **buf, int *len)

to

+static void
+ReadTwoPhaseDataFromXlog(XLogRecPtr lsn, char **buf, int *len)

Best regards,
  Jesper

Commits

  1. Speedup 2PC recovery by skipping two phase state files in normal path

  2. Add tests for two-phase commit

  3. Improve grammar of message about two-phase state files.

  4. Speedup 2PC by skipping two phase state files in normal path