I have an application that does many db calls from a server farm. I've increased my max connections on postgresql to 1000 and tuned the server accordingly. However, I still get can't connect to postgresql some times. I installed pgbouncer on few servers in the farm. I pointed the traffic to pgbouncer and things helped dramatically. My question are: is there a ratio of max connections and pool i should use in my pgbouncer config?
Does your application allow for transaction pooling? pgBouncer can unlock a lot more efficiency if you can cycle server slots on transaction boundaries.