Я использую MariaDB Galera Cluster (Master / Master) с 5 узлами со спецификациями
32Core
64GB Ram
Ubuntu 20.04
Personal Vm-Machines at own Datacenter
Вверху этих узлов настроен Haproxy, который балансирует нагрузку запросов для узла БД
, каждый узел имеет ограничение на максимальное количество подключений 2000, но в некоторых ситуациях у нас было более 2000 подключений на одном узле, и мы не можем отследить, почему и откуда мы получаем такое количество запросов на подключение. может кто-нибудь посоветовать мне, как решить эту проблему
Спасибо
Galera Version: 4 MariabDB 10.5
Подключитесь с помощью командной строки "mysql". SHOW PROCESSLIST
. Он может показать 2000 строк, где почти все они говорят Sleep
. Он также укажет пользователя и хост, откуда идут соединения.
Похоже, что у вас где-то включено "объединение соединений", возможно, в haproxy?
2000 - это неоправданно много, за исключением очень немногих производственных систем, пожалуйста, обоснуйте это число. С другой стороны, я видел 1000 соединений на 2GB сервере (давно), так что я не думаю, что есть какая-то серьезная проблема с достижением 2000 - если большинство из них "Sleep".
Проверьте SHOW GLOBAL STATUS LIKE 'Threads_running';
Если это больше, чем, скажем, 100, у вас может быть проблема. Это количество не спящих потоков в тот момент, когда вы проверяете его.