Re: Synchronized Scan benchmark results

From: "Simon Riggs" <simon(at)2ndquadrant(dot)com>
To: "Jeff Davis" <pgsql(at)j-davis(dot)com>
Cc: <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: Synchronized Scan benchmark results
Date: 2007-04-04 09:40:52
Message-ID: 1175679652.3623.56.camel@silverbirch.site
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

On Tue, 2007-04-03 at 10:37 -0700, Jeff Davis wrote:
> > > The primary aspect of my patch, the Synchronized Scanning, performed
> > > great though. Even the CFQ scheduler, that does not appear to properly
> > > read ahead, performed substantially better than plain 8.2.3. And even
> > > better, Simon's patch didn't seem to hurt Synchronized Scans at all.
> > >
> > > Out of the 36 runs I did, a couple appear anomalous. I will retest those
> > > soon.
> >
> > Which ones were they?
>
> This one stood out to me:
>
> * Machine 1, Linux AS, Sync Scan patch + Recycle Buffers patch, single
> scan: 204s
>
> Compared to these tests:
>
> * Machine 1, Linux AS, Sync Scan patch + Recycle Buffers patch, scan.rb:
> all 5 scans are below 170s.
>
> * Machine 1, Linux AS, Sync Scan patch only, scan.rb: 165s.
>
> That makes no sense to me, so it's probably a fluke (by which I mean
> some other activity on the system, perhaps swapping some large
> applications). The second two tests are consistent with all the other
> numbers I got, but the first one took 40 seconds longer than I would
> expect. I'll do a simple re-test tonight.

What did you set scan_recycle_buffers to? The default was zero.

I think v2 of the patch interpreted that setting as meaning attempt to
reuse the same buffer again immediately, which probably wouldn't be
optimal. Which is why I issued v3... I think you'll need to set
scan_recycle_buffers = 0 (==off in v3) and scan_recycle_buffers = 32 to
get sensible comparison figures.

So please can you use v3 for any further testing. Thanks.

> > I would like to see some tests with different queries that have varying
> > I/O and CPU requirements to see if they stay together too. That won't
> > block the patch, but it will help everybody understand what the range of
> > real world applicability there is in this. I'd guess this can benefit us
> > sufficiently frequently in most cases that its worth it.
>
> I'll do some more varied tests. The best idea I've come up with so far
> is to do something that requires random seeking going concurrently with
> the scans.

No, what I mean is different kinds of scans:
- a simple scan like count(*)
- a more complex one that does buckets of cycles per tuple
- a hash join

In particular, select count(*) isn't very representative. Using all Hash
Joins would be a much better test - since IMHO that case is the common
use case for this feature.

--
Simon Riggs
EnterpriseDB http://www.enterprisedb.com

In response to

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Zeugswetter Andreas ADI SD 2007-04-04 10:02:07 Re: Bug in UTF8-Validation Code?
Previous Message Heikki Linnakangas 2007-04-04 08:57:16 Vacuum in multi-statement