Есть ли правило или что-то, что я могу использовать для вычисления хорошего числа для max_connections , default_pool_size и max_client_conn?

Значения по умолчанию странные. PostgreSQL по умолчанию имеет значение max_connections = 100, а pgboucner по умолчанию - default_pool_size = 20. Разве default_pool_size не должен всегда быть выше, чем max_connections? Иначе какой смысл? Я думал, что pgbouncer предназначен для того, чтобы мы могли обрабатывать больше соединений, снижая их накладные расходы (путем повторного использования соединений PostgreSQL). Я не совсем понимаю.

Я ищу совет, подобный тем, которые можно найти в вики PostgreSQL, например, «этот параметр должен составлять ~ 50% вашей памяти».

Я также помню, что для MySQL существовала электронная таблица, которая позволяла бы рассчитывать параметры такого рода. Было бы здорово иметь что-то подобное для PostgreSQL/pgbouncer.

1 ответ1

0

default_pool_size всегда должен быть меньше max_client_conn. max_client_connection - количество соединений сокетов между приложением и pgbuffer. default_pool_size - количество соединений между pgbuffer и базой данных.

Поэтому, если вы используете транзакцию в качестве режима пула, вы можете поделиться меньшим default_pool_size с большим количеством клиентов.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .