From: Greg Smith <gsmith@gregsmith.com>
To: Scott Marlowe <scott.marlowe@gmail.com>
Cc: Josh Berkus <josh@agliodbs.com>
Cc: pgsql-performance@postgresql.org
Subject: Re: Need help with 8.4 Performance Testing
Date: Mon, 8 Dec 2008 15:15:36 -0500 (EST)
Message-ID: <Pine.GSO.4.64.0812081442410.5242@westnet.com> (raw)
In-Reply-To: <dcc563d10812072140q1cb257cbs8140b390759cb1a5@mail.gmail.com>
References: <200812071138.01215.josh@agliodbs.com>
<dcc563d10812072140q1cb257cbs8140b390759cb1a5@mail.gmail.com>
On Sun, 7 Dec 2008, Scott Marlowe wrote:
> When I last used pgbench I wanted to test it with an extremely large
> dataset, but it maxes out at -s 4xxx or so, and that's only in the
> 40Gigabyte range. Is the limit raised for the pgbench included in
> contrib in 8.4? I'm guessing it's an arbitrary limit.
There's no artificial limit, just ones that result from things like
integer overflow. I don't think has been an issue so far because pgbench
becomes seek limited and stops producing interesting results once the
database exceeds the sum of all available caching, which means you'd need
more than 32GB of RAM in the system running pgbench before this is an
issue. Which happens to be the largest size system I've ever ran it on...
I'd expect this statement around line 1060 of pgbench.c
to overflow first:
for (i = 0; i < naccounts * scale; i++)
Where i is an integer, naccounts=100,000 , and scale is what you input.
That will overflow a signed 32-bit integer at a scale of 2147. If you had
tests that failed at twice that, I wonder if you were actually executing
against a weird data set for scales of (2148..4294).
It's not completely trivial to fix (I just tried), the whole loop needs to
be restructured to run against scale and 100,000 separately while keeping
the current progress report intact. I'll take a shot at fixing it
correctly, this is a bug that should be corrected before 8.4 goes out. I
guarantee that version will be used on systems with 64GB of RAM where this
matters.
--
* Greg Smith gsmith@gregsmith.com http://www.gregsmith.com Baltimore, MD
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Reply to all the recipients using the --to and --cc options:
reply via email
To: pgsql-performance@postgresql.org
Cc: gsmith@gregsmith.com, scott.marlowe@gmail.com, josh@agliodbs.com
Subject: Re: Need help with 8.4 Performance Testing
In-Reply-To: <Pine.GSO.4.64.0812081442410.5242@westnet.com>
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
This inbox is served by DDX for PostgreSQL; see mirroring instructions
for how to clone and mirror all data and code used for this inbox