[Pgpool-general] Performance in load balance mode

Matt Mullins mmullins at tamu.edu
Thu May 14 21:37:25 UTC 2009


I am doing some experimentation with pgpool-II.  I have three servers,
one frontend running pgpool-II, and two backends running Postgres 8.3.
They are configured in replication and load balance mode.  I've been
using pgbench to estimate the overhead of the replication, and I have
found some interesting results.

With both backends attached, I get about 500 transactions per second.
Simply disabling one of the backends (via pcp_detach_node) brings that
up to about 775 transactions per second.  And when I benchmark the
backend directly, without going through pgpool, I get around 1000
transactions per second.

We are intending to use a replicated database to replace a standalone
server, so ideally we would like to have roughly equivalent performance.

Is this sort of behavior expected with pgpool, or have I misconfigured it?

For reference, here is my configuration:
listen_addresses = '*'
port = 5433
pcp_port = 9898
pcp_timeout = 10
num_init_children = 32
max_pool = 4
replication_mode = true
replication_strict = true
load_balance_mode = true
reset_query_list = 'ABORT; RESET ALL; SET SESSION AUTHORIZATION DEFAULT'
print_timestamp = true
connection_cache = true
health_check_timeout = 20
health_check_period = 10
health_check_user = 'nobody'
log_statement = false
pgpool2_hostname = ''
system_db_hostname = 'shiner.local'

system_db_port = 5432
system_db_dbname = 'pgpool'
system_db_schema = 'pgpool_catalog'
system_db_user = 'root'
system_db_password = 'password'

backend_hostname0 = 'backend0.local'
backend_port0 = 5432
backend_weight0 = 1

backend_hostname1 = 'backend1.local'
backend_port1 = 5432
backend_weight1 = 1

enable_pool_hba = false


More information about the Pgpool-general mailing list