Re: 9.2beta1, parallel queries, ReleasePredicateLocks, CheckForSerializableConflictIn in the oprofile

Sergey Koposov <koposov@ast.cam.ac.uk>

From: Sergey Koposov <koposov@ast.cam.ac.uk>
To: Merlin Moncure <mmoncure@gmail.com>
Cc: pgsql-hackers@postgresql.org
Date: 2012-05-25T22:53:36Z
Lists: pgsql-hackers

Commits

Same data as JSON: GET /api/v1/messages/:b64id/commits the thread's linked commits as JSON, with link sources. API reference →
  1. Improve bulk-insert performance by keeping the current target buffer pinned

On Fri, 25 May 2012, Merlin Moncure wrote:
> can you hack this in heapam.c and see if it helps?
> line 131-ish:
>
> 	if (!RelationUsesLocalBuffers(scan->rs_rd) &&
> 		scan->rs_nblocks > NBuffers / 4)
> becomes
> 	if (!RelationUsesLocalBuffers(scan->rs_rd))
>
> (also you can set the partition count back).

The first few runs of my test with the suggested change made the 
multithreaded queries even slower by a factor of two.
E.g. 44 seconds for multithreaded vs ~ 7sec single threaded.
(with the default 9.2beta I get ~ 14-22sec for multithreaded run)
But now after another few reruns of my test, i see again this variability 
in times for multithreaded runs. It went down to 18-22seconds. Then again 
to 44 sec. So overall the change you suggested either doesn't improve 
the situation or makes it worse .

Regards,
 	S

*****************************************************
Sergey E. Koposov, PhD, Research Associate
Institute of Astronomy, University of Cambridge
Madingley road, CB3 0HA, Cambridge, UK
Tel: +44-1223-337-551 Web: http://www.ast.cam.ac.uk/~koposov/