Re: pgbench: option delaying queries till connections establishment? - Mailing list pgsql-hackers

From Dave Cramer
Subject Re: pgbench: option delaying queries till connections establishment?
Date
Msg-id CADK3HHK=VhHyLZBQ2dL8RLM3bdK56W5qLF2azREFSBTbZUgLkg@mail.gmail.com
Whole thread Raw
In response to Re: pgbench: option delaying queries till connections establishment?  (Dave Cramer <davecramer@postgres.rocks>)
Responses Re: pgbench: option delaying queries till connections establishment?
List pgsql-hackers


I've recently run into something I am having difficulty understanding.

I am running pgbench with the following
pgbench -h localhost -c 100 -j 100 -t 2 -S -s 1000 pgbench -U pgbench --protocol=simple 

Without pgbouncer I get around 5k TPS
with pgbouncer I get around 15k TPS

Looking at the code connection initiation time should not be part of the calculation so I' puzzled why pgbouncer is making such a dramatic difference ?

Dave

Turns out that for this specific test, pg is faster with a pooler. 

Dave Cramer, [May 16, 2023 at 9:49:24 AM]:

turns out having a connection pool helps. First run is without a pool, second with


pgbench=# select mean_exec_time, stddev_exec_time, calls, total_exec_time, min_exec_time, max_exec_time from pg_stat_statements where queryid=-531095336438083412;

   mean_exec_time   |  stddev_exec_time  | calls |  total_exec_time  |    min_exec_time     | max_exec_time

--------------------+--------------------+-------+-------------------+----------------------+---------------

 0.4672699999999998 | 2.2758508661446535 |   200 | 93.45399999999997 | 0.046616000000000005 |     17.434766

(1 row)


pgbench=# select pg_stat_statements_reset();

 pg_stat_statements_reset

--------------------------


(1 row)


pgbench=# select mean_exec_time, stddev_exec_time, calls, total_exec_time, min_exec_time, max_exec_time from pg_stat_statements where queryid=-531095336438083412;

   mean_exec_time    |   stddev_exec_time   | calls |  total_exec_time   | min_exec_time | max_exec_time

---------------------+----------------------+-------+--------------------+---------------+---------------

 0.06640186499999999 | 0.021800404695481574 |   200 | 13.280373000000004 |      0.034006 |      0.226696

(1 row) 

pgsql-hackers by date:

Previous
From: Jehan-Guillaume de Rorthais
Date:
Subject: Re: Memory leak from ExecutorState context?
Next
From: "Jonathan S. Katz"
Date:
Subject: Re: Assert failure of the cross-check for nullingrels