Re: XLogInsert - Mailing list pgsql-hackers

From Jaime Casanova
Subject Re: XLogInsert
Date
Msg-id 3073cc9b0912122318v2a7edc47se0378e7335daaf5f@mail.gmail.com
Whole thread Raw
In response to Re: XLogInsert  (Alvaro Herrera <alvherre@commandprompt.com>)
Responses Re: XLogInsert  (Greg Smith <greg@2ndquadrant.com>)
List pgsql-hackers
On Thu, Dec 10, 2009 at 3:58 PM, Alvaro Herrera
<alvherre@commandprompt.com> wrote:
> Jaime Casanova escribió:
>> On Wed, Dec 9, 2009 at 9:39 AM, Tom Lane <tgl@sss.pgh.pa.us> wrote:
>> > so I'd like some independent confirmation that it does.
>> >
>>
>> what kind of tests could show that? or simply running pgbench several
>> times for 15 minutes each run could show any benefit?
>
> Isn't the supposed performance improvement in this patch linked strongly
> to backup blocks?  If that's really the case, I think it would show more
> prominently if you had very frequent checkpoints.
>

Ah! Ok, i was only following the logic that it was eliminating the
need of executing a loop twice...
But you are right while the loop executes always it only do something
meaningful after a checkpoint and the for statement only make 3 loops
each, because XLR_MAX_BKP_BLOCKS is defined as 3 in
src/include/access/xlog.h

looked that way seems like the benefit could be only marginal

to prove that i compile with and without the patch, and change
checkpoint_segments = 1 and checkpoint_timeout = 1min to force
frequent checkpoints (actually they ocurred a few seconds apart)

initialize the pgbench database in each installation with:
pgbench -i -s 200 -F 90 test

and executed 6 times with:
pgbench -n -c 50 -j 5 -l -T 900 test

Results are:

Min (tps)
Unpatched - including connections establishing 133.046069 excluding it
133.085274
Patched     - including connections establishing 139.567284    excluding
it 139.591229

Max (tps)
Unpatched - including connections establishing 147.082181 excluding
it    147.108752
Patched    - including connections establishing 151.276416 excluding
it    151.311745

Avg (tps)
Unpatched - including connections establishing 140.750998 excluding
it    140.790336
Patched     - including connections establishing 146.383735 excluding
it 146.411039

So in this extreme case avg tps is just 6 transactions better

PS: i'm attaching the files i use for the tests

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

Attachment

pgsql-hackers by date:

Previous
From: Andrew Dunstan
Date:
Subject: Re: Winflex
Next
From: KaiGai Kohei
Date:
Subject: Re: Row-Level Security