Re: Group commit, revised

From: Jesper Krogh <jesper(at)krogh(dot)cc>
To: Jeff Janes <jeff(dot)janes(at)gmail(dot)com>
Cc: Heikki Linnakangas <heikki(dot)linnakangas(at)enterprisedb(dot)com>, Robert Haas <robertmhaas(at)gmail(dot)com>, Peter Geoghegan <peter(at)2ndquadrant(dot)com>, Simon Riggs <simon(at)2ndquadrant(dot)com>, PG Hackers <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Group commit, revised
Date: 2012-01-29 19:53:01
Message-ID: 4F25A39D.5080801@krogh.cc
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On 2012-01-29 01:48, Jeff Janes wrote:
> I ran three modes, head, head with commit_delay, and the group_commit patch
>
> shared_buffers = 600MB
> wal_sync_method=fsync
>
> optionally with:
> commit_delay=5
> commit_siblings=1
>
> pgbench -i -s40
>
> for clients in 1 5 10 15 20 25 30
> pgbench -T 30 -M prepared -c $clients -j $clients
>
> ran 5 times each, taking maximum tps from the repeat runs.
>
> The results are impressive.
>
> clients head head_commit_delay group_commit
> 1 23.9 23.0 23.9
> 5 31.0 51.3 59.9
> 10 35.0 56.5 95.7
> 15 35.6 64.9 136.4
> 20 34.3 68.7 159.3
> 25 36.5 64.1 168.8
> 30 37.2 83.8 71.5
>
> I haven't inspected that deep fall off at 30 clients for the patch.
>
> By way of reference, if I turn off synchronous commit, I get
> tps=1245.8 which is 100% CPU limited. This sets an theoretical upper
> bound on what could be achieved by the best possible group committing
> method.
>
> If the group_commit patch goes in, would we then rip out commit_delay
> and commit_siblings?

Adding to the list of tests that isn't excactly a real-world system I
decided
to repeat Jeff's tests on a Intel(R) Core(TM)2 Duo CPU E7500 @ 2.93GHz
with 4GB of memory and an Intel X25-M 160GB SSD drive underneath.

Baseline Commitdelay Group commit
1 1168.67 1233.33 1212.67
5 2611.33 3022.00 2647.67
10 3044.67 3333.33 3296.33
15 3153.33 3177.00 3456.67
20 3087.33 3126.33 3618.67
25 2715.00 2359.00 3309.33
30 2736.33 2831.67 2737.67

Numbers are average over 3 runs.

I have set checkpoint_segments to 30 .. otherwise same configuration as
Jeff.
Attached is a graph.

Nice conclusion is.. group commit outperforms baseline in all runs (on
this system).

My purpose was actual more to try to quantify the difference between a
single SSD and
a single rotating disk.

--
Jesper

Attachment Content-Type Size
image/png 24.5 KB

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Dan Langille 2012-01-29 19:57:05 PGCon 2012 Call for Papers - extension
Previous Message Kohei KaiGai 2012-01-29 19:39:19 Re: pgsql_fdw, FDW for PostgreSQL server