[pgpool-general: 256] Re: Slow Pgpool performance on load balancing

Tatsuo Ishii ishii at postgresql.org
Wed Feb 29 23:59:27 JST 2012


pgbench -S is not the best test case for pgpool because:

1) the SELECT is too trivial thus the overhead of pgpool is too high
   lighted. It's better more realistic SELECT use case from your own
   application.

2) the database size is too small. You want to try bigger scale factor.

BTW, on my Linux laptop with CORE i5 4GB mem with SSD, I see following
number. Pgpool-II and primary/standby PostgreSQl are all on the box.

$ pgbench -S -C -t 20 -c 20 test (via pgpool)
starting vacuum...end.
transaction type: SELECT only
scaling factor: 1
query mode: simple
number of clients: 20
number of threads: 1
number of transactions per client: 20
number of transactions actually processed: 400/400
tps = 588.130641 (including connections establishing)
tps = 20086.371397 (excluding connections establishing)
$ pgbench -p 5433 -S -C -t 20 -c 20 test (directly connected to PostgreSQL)
starting vacuum...end.
transaction type: SELECT only
scaling factor: 1
query mode: simple
number of clients: 20
number of threads: 1
number of transactions per client: 20
number of transactions actually processed: 400/400
tps = 596.715677 (including connections establishing)
tps = 16670.139612 (excluding connections establishing)
--
Tatsuo Ishii
SRA OSS, Inc. Japan
English: http://www.sraoss.co.jp/index_en.php
Japanese: http://www.sraoss.co.jp

> Hi ,
> 
> I am seeing slow performance when do pgbench test for Selects  via pgpoolII
> compared to performing same test over the backend .
> 
> The setup is following .
> 
> 1 Master  - 2 Salve  Streaming replication setup .
> 
> PgpoolII resides on Master node .
> 
> All node have exact software versions and hardware .
> 
> Postgres version  (9.1.3)
> pgpoolII version  3.2alpha1  ( loadbalancing enabled )
> 
> 
> These are pgbench test , there is a huge difference with and without
> pgpoolII . Any idea whats the cause ? Shouldnt the select test with pgpool
> be able to handle more transactions than single backend ?
> 
> *Test 1 :*
> *$ pgbench -p9999 -T 30 -S -n -c 12 bench_replication*
> *transaction type: SELECT only*
> *scaling factor: 1*
> *query mode: simple*
> *number of clients: 12*
> *duration: 30 s*
> *number of transactions actually processed: 562902*
> *tps = 18762.431859 (including connections establishing)*
> *tps = 18791.333944 (excluding connections establishing)*
> *
> *
> *$ pgbench -p5432 -h 10.52.6.142 -T 30 -S -n -c 12 bench_replication*
> *transaction type: SELECT only*
> *scaling factor: 1*
> *query mode: simple*
> *number of clients: 12*
> *duration: 30 s*
> *number of transactions actually processed: 1133075*
> *tps = 37767.193960 (including connections establishing)*
> *tps = 37800.532288 (excluding connections establishing)*
> 
> *Test 2: -C*
> *$ pgbench -p5432 -h 10.52.6.142 -t 20 -S -n -C -c 10 bench_replication*
> *transaction type: SELECT only*
> *scaling factor: 1*
> *query mode: simple*
> *number of clients: 10*
> *number of transactions per client: 20*
> *number of transactions actually processed: 200/200*
> *tps = 386.054924 (including connections establishing)*
> *tps = 28364.770954 (excluding connections establishing)*
> 
> *$ pgbench -p9999  -t 20 -S -n -C -c 10 bench_replication*
> *transaction type: SELECT only*
> *scaling factor: 1*
> *query mode: simple*
> *number of clients: 10*
> *number of transactions per client: 20*
> *number of transactions actually processed: 200/200*
> *tps = 303.073927 (including connections establishing)*
> *tps = 3775.508278 (excluding connections establishing)*
> 
> -- 
> Syed Atif Ali
> Desk: 971 4 4493131


More information about the pgpool-general mailing list