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

From: "Rady, Doug" <radydoug(at)amazon(dot)com>
To: "pgsql-hackers(at)postgresql(dot)org" <pgsql-hackers(at)postgresql(dot)org>
Subject: PATCH: pgbench - option to build using ppoll() for larger connection counts
Date: 2017-11-28 15:38:43
Message-ID: 3B729131-C891-41F3-B911-8DEB05515D63@amazon.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-hackers

[trying again for 2018-01]

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.

The patch has been implemented to introduce a minimal of #ifdef/#ifndef
clutter in the code.

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
--
Doug Rady
Amazon Aurora, RDS PostgreSQL
radydoug(at)amazon(dot)com

Attachment Content-Type Size
pgbench11-ppoll-v3.patch application/octet-stream 9.8 KB

Responses

Browse pgsql-hackers by date

  From Date Subject
Next Message Robert Haas 2017-11-28 15:52:10 Re: default range partition and constraint exclusion
Previous Message Simon Riggs 2017-11-28 15:34:48 Re: [HACKERS] SQL procedures