XLogFlush invoked about twice as many times after 9.2 group commit enhancement

From: Amit Langote <amitlangote09(at)gmail(dot)com>
To: PostgreSQL-development <pgsql-hackers(at)postgresql(dot)org>
Cc: peter(dot)geoghegan86(at)gmail(dot)com
Subject: XLogFlush invoked about twice as many times after 9.2 group commit enhancement
Date: 2013-05-07 15:13:38
Message-ID: CA+HiwqF1JRhWsXc4i_+tFH2i=1MLjQeFE5w4=oGMDXNR3x8NVw@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Hello,

I have been trying to understand how group commit implementation works
the way it does after 9.2 group commit enhancement patch
(9b38d46d9f5517dab67dda1dd0459683fc9cda9f on REL9_2_STABLE). I have
observed some behavior in this regard that I could not understand.

Profiling results show that XLogFlush() is called about twice as many
times after this patch while for XLogWrite() count remains about same
as before. This patch modifies XLogFlush() such that it offers the
said performance gain by alleviating the lock contention on
WALWriteLock using the new LWLockAcquireOrWait(). I do not however
understand why XLogFlush is invoked twice as many times (as seen from
the profiling results) as an effect of this patch. Why should this
patch make XLogFlush() being invoked twice as many times?

I used "pgbench -c 32 -t 1000 pgbench" in both cases with TPS result
after applying the patch not being significantly different (as in not
twice as much on my system).

I used:
pgbench scale=10

shared_buffers=256MB
max_connections=1000
checkpoint_segments=15
synchronous_commit=on

Comments?

--

Amit Langote

--

Amit Langote

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Greg Stark 2013-05-07 15:50:52 Re: pg_dump --snapshot
Previous Message Stephen Frost 2013-05-07 15:01:48 Re: pg_dump --snapshot