MySQL connection pool. Сколько соединений открывать?

Есть куча информации как использовать connection pool, но так и не нашел информации от чего отталкиваться при выборе открытых соединений. 1 соединение на ядро? Или зависит от настроек конфигурации самой базы данных (в моём случае MySQL)? Зависит ли от языка программирования(в моём случае nodejs)? Как подобрать оптимальное количество заранее открытых соединений к БД?


Ответы (1 шт):

Автор решения: Barmaley Red Star

Зависит от настроек MySQL. По умолчанию в MySQL 5.5 максимальное количество одновременно открытых клиентских соединений 100, это можно посмотреть через скрипт:

mysql> show variables like 'max_connections';
+-----------------+-------+
| Variable_name   | Value |
+-----------------+-------+
| max_connections | 100   |
+-----------------+-------+
1 row in set (0.00 sec)

Можно конечно и увеличить, но не советую. Количество коннектов - это ценный ресурс, требующий довольно памяти/места.

Для пула, мне кажется, достаточно держать 10 соединений, надо же оставить остальным клиентам тоже что-то

→ Ссылка