From: Greg Smith <greg@2ndquadrant.com>
To: Tom Lane <tgl@sss.pgh.pa.us>
Cc: David Kerr <dmk@mr-paradox.net>
Cc: pgsql-performance@postgresql.org
Subject: Re: pgbench could not send data to client: Broken pipe
Date: Wed, 08 Sep 2010 15:27:34 -0400
Message-ID: <4C87E3A6.8060800@2ndquadrant.com> (raw)
In-Reply-To: <8037.1283973026@sss.pgh.pa.us>
References: <20100908174629.GD40339@mr-paradox.net>
<8037.1283973026@sss.pgh.pa.us>
Tom Lane wrote:
> As of the 9.0 release, it's possible to run pgbench in a "multi thread"
> mode, and if you forced the subprocess rather than thread model it looks
> like the select() limit would be per subprocess rather than global.
> So I think you could get above the FD_SETSIZE limit with a bit of
> hacking if you were using 9.0's pgbench. No chance with 8.3 though.
>
I believe David can do this easily enough by compiling a 9.0 source code
tree with the "--disable-thread-safety" option. That's the simplest way
to force the pgbench client to build itself using the multi-process
model, rather than the multi-threaded one.
It's kind of futile to run pgbench simulating much more than a hundred
or two clients before 9.0 anyway. Without multiple workers, you're
likely to just run into the process switching limitations within pgbench
itself rather than testing server performance usefully. I've watched
the older pgbench program fail to come close to saturating an 8 core
server without running into its own limitations first.
You might run a 9.0 pgbench client against an 8.3 server though, if you
did the whole thing starting from pgbench database initialization over
again--the built-in tables like "accounts" changed to "pgbench_accounts"
in 8.4. That might work, can't recall any changes that would prevent
it; but as I haven't tested it yet I can't say for sure.
--
Greg Smith 2ndQuadrant US Baltimore, MD
PostgreSQL Training, Services and Support
greg@2ndQuadrant.com www.2ndQuadrant.us
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: greg@2ndquadrant.com, tgl@sss.pgh.pa.us, dmk@mr-paradox.net
Subject: Re: pgbench could not send data to client: Broken pipe
In-Reply-To: <4C87E3A6.8060800@2ndquadrant.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