Нет.
PgBouncer объявляет себя клиентам как сервер Postgres, а затем управляет подключениями к фактическому серверу Postgres. Нам не нужно вдаваться в подробности, кроме PgBouncer - с точки зрения Rails, экземпляр PgBouncer является сервером Postgres, поэтому давайте объясним, почему начинать именно с этого.
В Rails есть два основных фактора, которые следует учитывать для параллелизма: количество входящих клиентских запросов, которые могут быть отправлены его веб-серверу, и размер пула соединений для базы данных.
Если ваше соединение размер пула равен 1, тогда ваше приложение фактически является однопоточным: каждый раз, когда делается входящий клиентский запрос, который должен выполнить запрос к базе данных, этот запрос должен проверять соединение с базой данных из пула. Когда размер пула равен 1, а количество одновременных входящих запросов больше 1, каждый запрос после первого запроса должен быть приостановлен, пока первый запрос завершает свой запрос и возвращает соединение с пулом. Если выполнение первого запроса занимает много времени, то последующие запросы могут истекать по таймауту при ожидании доступного соединения из пула.
Итак, со стороны Rails вы хотите иметь пул соединений размером больше 1 чтобы разрешить параллелизм. Если вы установите его размер 1, то не имеет значения, как у вас настроен PgBouncer; Rails всегда будет устанавливать не более одного подключения к базе данных, и все потоки должны использовать это единственное соединение.
Подробнее о пулах подключений в Rails можно узнать по адресу ActiveRecord::ConnectionAdapters::ConnectionPool < Object
.