Ответ 1
В Unicorn каждый процесс устанавливает свой собственный пул соединений, поэтому вы, если ваш параметр пула db равен 5, и у вас есть 5 работников Unicorn, вы можете иметь до 25 подключений. Однако, поскольку каждый рабочий-единорог может обрабатывать только одно соединение за раз, тогда, если ваше приложение не использует потоки внутри, каждый рабочий фактически использует только одно соединение db.
В Sidekiq соединения в пуле разделяются между потоками, поэтому вам нужно иметь хотя бы одно соединение для каждого рабочего. Если у вас есть concurrency из 5, то ваш пул должен быть не менее 5.
Имея размер пула, превышающий 1, каждый рабочий Unicorn имеет доступ к соединениям, которые он не может использовать, но фактически не будет открывать соединения, поэтому это не имеет значения.
Общее количество фактических подключений, которые требуется вашему приложению, если вы не используете потоки в коде приложения (и они не используют соединение db), - это один на одного работника Sidekiq плюс один на одного сотрудника Unicorn.