|From:||Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com>|
|To:||Stas Kelvich <s(dot)kelvich(at)postgrespro(dot)ru>|
|Cc:||Simon Riggs <simon(at)2ndQuadrant(dot)com>, Andres Freund <andres(at)anarazel(dot)de>, pgsql-hackers <pgsql-hackers(at)postgresql(dot)org>|
|Subject:||Re: Speedup twophase transactions|
|Views:||Raw Message | Whole Thread | Download mbox|
On 01/11/2016 06:11 PM, Stas Kelvich wrote:
>> On 11 Jan 2016, at 21:40, Jesper Pedersen <jesper(dot)pedersen(at)redhat(dot)com> wrote:
>> 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).
> Thanks for testing and especially for the flame graph. That is somewhat in between the cases that I have tested. On commodity server with dual Xeon (6C each) 2pc speed is about 80% of 1pc speed, but on 60C/120T system that patch didn’t make significant difference because main bottleneck changes from file access to locks on array of running global transactions.
> How did you generated names for your PREPARE’s? One funny thing that I’ve spotted that tx rate increased when i was using incrementing counter as GID instead of random string.
I'm using https://github.com/jesperpedersen/postgres/tree/pgbench_xa -
so just the client_id.
The strcmp() in MarkAsPreparing() is under the exclusive lock, so maybe
that is what you are seeing, as shorter gid's are faster.
> And can you also share flame graph for 1pc workload?
Attached with a new 2pc, as the server runs Linux 4.4.0 now, both using
-F 497 over a 6 min run.
|Next Message||Masahiko Sawada||2016-01-12 15:16:59||Re: Freeze avoidance of very large table.|
|Previous Message||Albe Laurenz||2016-01-12 14:08:14||Re: Fwd: [JDBC] Re: 9.4-1207 behaves differently with server side prepared statements compared to 9.2-1102|