Thanks, that was actually what I just ended up doing yesterday. Any suggestion how to tune pgbouncer?
BTW, I have just bumped into an issue that caused me to disable pgbouncer again actually. My web application is
queryingthe database with a per request based SEARCH_PATH. This is because I use schemas to provide country based
separationof my data (e.g. english, german, danish data in different schemas). I have pgbouncer setup to have a
transactionalbehavior (pool_mode = transaction) - however some of my colleagues complained that it sometimes didn't
returndata from the right schema set in the SEARCH_PATH - you wouldn't by chance have any idea what is going wrong
wouldn'tyou?
#################### pgbouncer.ini
[databases]
production =
[pgbouncer]
logfile = /var/log/pgbouncer/pgbouncer.log
pidfile = /var/run/pgbouncer/pgbouncer.pid
listen_addr = localhost
listen_port = 6432
unix_socket_dir = /var/run/postgresql
auth_type = md5
auth_file = /etc/pgbouncer/userlist.txt
admin_users = postgres
pool_mode = transaction
server_reset_query = DISCARD ALL
max_client_conn = 500
default_pool_size = 20
reserve_pool_size = 5
reserve_pool_timeout = 10
#####################
Den 05/03/2013 kl. 17.34 skrev Kevin Grittner <kgrittn@ymail.com>:
> Niels Kristian Schjødt <nielskristian@autouncle.com> wrote:
>
>> So my question is, should I also get something like pgpool2 setup
>> at the same time? Is it, from your experience, likely to increase
>> my throughput a lot more, if I had a connection pool of eg. 20
>> connections, instead of 300 concurrent ones directly?
>
> In my experience, it can make a big difference. If you are just
> using the pooler for this reason, and don't need any of the other
> features of pgpool, I suggest pgbouncer. It is a simpler, more
> lightweight tool.
>
> --
> Kevin Grittner
> EnterpriseDB: http://www.enterprisedb.com
> The Enterprise PostgreSQL Company