MySQL connection pool. Сколько соединений открывать?
Есть куча информации как использовать connection pool, но так и не нашел информации от чего отталкиваться при выборе открытых соединений. 1 соединение на ядро? Или зависит от настроек конфигурации самой базы данных (в моём случае MySQL)? Зависит ли от языка программирования(в моём случае nodejs)? Как подобрать оптимальное количество заранее открытых соединений к БД?
Ответы (1 шт):
Зависит от настроек 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 соединений, надо же оставить остальным клиентам тоже что-то