Как рассчитать параметры max_client_conn и default_pool_size для pgbouncer учитывая max_connections в PostgreSQL?
Дано:
Сервер CPU Intel i5-3570S 3.1 GHz, RAM 16GB
На нем установлен PostgreSQL 9.1. В конфигурации для max_connections установлено 200. На эту же машину установлен pgbouncer.
Вопрос:
Как параметры max_client_conn и default_pool_size должны быть соотнесены с max_connections?
В разных источниках давалась разная, местами противоположная информация. Некоторые писали, что max_client_conn должен быть не больше чем max_connections. Другие пишут что max_connections = max_client_conn * default_pool_size. Еще одни указывают, что max_client_conn = 10 * default_pool_size. В PostgreSQL я новичок, поэтому окончательно запутался. Буду очень благодарен за помощь.
Если pool_mode = session, то max_client_conn = max_connections, тут без вариантов, больше все ровно быть не может, а меньше не имеет смысла. Если используете этот режим, то обязательно следите за кол-вом max_connections.
Если pool_mode = transaction, то max_client_conn = 10000 смело. Не забудьте увеличить допустимое кол-во открытых файлов: ulimit -n 100000.