PATCH: pgbench - option to build using ppoll() for larger connectioncounts - Mailing list pgsql-hackers

From Rady, Doug
Subject PATCH: pgbench - option to build using ppoll() for larger connectioncounts
Date
Msg-id 23D017C9-81B7-484D-8490-FD94DEC4DF59@amazon.com
Whole thread Raw
Responses Re: PATCH: pgbench - option to build using ppoll() for largerconnection counts
Re: PATCH: pgbench - option to build using ppoll() for larger connection counts
List pgsql-hackers

This version of the patch attempts to address the feedback for the previous

submission on 28-Nov-2017

 

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.

 

“… ppoll() is to poll() as pselect() is to select().  Since the

existing code uses select(), why not convert to poll() rather than

ppoll()?”

 

Time in pgbench is measured in microseconds.

The select() uses microseconds.

The ppoll() and pselect() call use nanoseconds

The poll() call uses milliseconds.

In order to not downgrade time resolution, ppoll() is used instead of poll().

  

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 1500 -c 1500

invalid number of clients: "1500"

 

 

With the patch:

 

$ pgbench -j 1500 -c 1500

starting vacuum...end.

progress: 12.0 s, 782.3 tps, lat 917.507 ms stddev 846.929

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 = 1180.216 ms

latency stddev = 855.126 ms

tps = 658.674816 (including connections establishing)

tps = 765.289160 (excluding connections establishing)

 

 

--

Doug Rady

Amazon Aurora, RDS PostgreSQL

radydoug@amazon.com

 

Attachment

pgsql-hackers by date:

Previous
From: Masahiko Sawada
Date:
Subject: Re: PATCH: Exclude unlogged tables from base backups
Next
From: Magnus Hagander
Date:
Subject: Re: [HACKERS] Supporting huge pages on Windows