Re: Moving more work outside WALInsertLock

Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>

From: Heikki Linnakangas <heikki.linnakangas@enterprisedb.com>
To: Robert Haas <robertmhaas@gmail.com>
Cc: Simon Riggs <simon@2ndquadrant.com>, Tom Lane <tgl@sss.pgh.pa.us>, Jeff Janes <jeff.janes@gmail.com>, PostgreSQL-development <pgsql-hackers@postgresql.org>
Date: 2012-01-07T09:31:04Z
Lists: pgsql-hackers

Attachments

On 25.12.2011 21:48, Robert Haas wrote:
> On Fri, Dec 23, 2011 at 2:54 PM, Heikki Linnakangas
> <heikki.linnakangas@enterprisedb.com>  wrote:
>> Sorry. Last minute changes, didn't retest properly.. Here's another attempt.
>
> I tried this one out on Nate Boley's system.  Looks pretty good.
> [pgbench results]

Great, thanks for the testing!

> Unfortunately, it does look like there is some raw loss of performance
> when WALInsertLock is NOT badly contended; hence the drop-off at a
> single client on permanent tables, and up through 24 clients on
> unlogged tables.

Hmm, I haven't been able to put my finger on what's causing that.

Anyway, here's a new version of the patch. It no longer busy-waits for 
in-progress insertions to finish, and handles xlog-switches. This is now 
feature-complete. It's a pretty complicated patch, so I would appreciate 
more eyeballs on it. And benchmarking again.

-- 
   Heikki Linnakangas
   EnterpriseDB   http://www.enterprisedb.com