Я использую HikariCP в приложении Clojure через библиотеку hikari-cp Clojure.
Приложение обслуживает несколько клиентов, каждый из которых имеет свою собственную базу данных MySQL и пользователя базы данных. Каждый клиент имеет свой собственный пул соединений HikariCP, насколько я понимаю, это необходимо, поскольку у каждого клиента есть выделенный пользователь базы данных. После добавления нового клиента я начал периодически получать ошибки «слишком много подключений» из MySQL. Я предполагаю, что размер пула по умолчанию, равный 10 соединениям на клиента, приводит к слишком большому количеству соединений (больше, чем значение по умолчанию для max_connections 151 в MySQL).
Общая / базисная нагрузка на клиентскую базу не очень велика.
Простое уменьшение количества соединений на одного клиента кажется обременительным, поскольку размер пула должен был бы уменьшаться при добавлении новых клиентов.
Было бы безопасно просто установить max_connections на число, пропорциональное количеству клиентов, скажем, 50 + [количество клиентов] * 10?
Или есть способ использовать один и тот же пул для подключения к разным базам данных (с разными пользователями БД)?