Re: PATCH: pgbench - option to build using ppoll() for larger connection counts

From: "Rady, Doug" <radydoug(at)amazon(dot)com>
To: Robert Haas <robertmhaas(at)gmail(dot)com>
Cc: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: Re: PATCH: pgbench - option to build using ppoll() for larger connection counts
Date: 2017-10-26 13:21:54
Message-ID: AD31EB18-832F-4300-A465-389BEBC6C16C@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

Without this patch, one is limited to '(FD_SETSIZE - 10)’ number of connections.
Example of something that fails without this patch but works with the patch:

Without the patch:

$ pgbench -j 3000 -c 1500
invalid number of clients: "1500"

With the patch:

$ pgbench -j 3000 -c 1500
starting vacuum...end.
transaction type: <builtin: TPC-B (sort of)>
scaling factor: 2000
query mode: simple
number of clients: 1500
number of threads: 1500
number of transactions per client: 10
number of transactions actually processed: 15000/15000
latency average = 631.730 ms
tps = 2374.430587 (including connections establishing)
tps = 4206.524986 (excluding connections establishing)

--
doug

On 10/26/17, 04:46, "Robert Haas" <robertmhaas(at)gmail(dot)com> wrote:

On Mon, Sep 25, 2017 at 8:01 PM, Rady, Doug <radydoug(at)amazon(dot)com> wrote:
> This patch enables building pgbench to use ppoll() instead of select()
>
> to allow for more than (FD_SETSIZE - 10) connections. As implemented,
>
> when using ppoll(), the only connection limitation is system resources.

So what's an example of something that fails without this patch but
works with the patch?

--
Robert Haas
EnterpriseDB: http://www.enterprisedb.com
The Enterprise PostgreSQL Company

In response to

Browse pgsql-hackers by date

  From Date Subject
Next Message Lætitia Avrot 2017-10-26 13:23:11 Adding table_constraint description in ALTER TABLE synopsis
Previous Message David Steele 2017-10-26 12:50:20 Re: Timeline ID in backup_label file