Назад | Перейти на главную страницу

Что может привести к тому, что пул соединений управления процессами Linux окажется в плохом состоянии, чтобы он постоянно их перезапускал?

У меня есть приложение с пулом подключений к MySQL. В какой-то момент на производстве каждые 1-3 секунды какой-то сокет закрывается. В результате мое приложение перезапускает это соединение.

Это довольно большой пул из 30 подключений / серверов приложений, взаимодействующих с одним экземпляром MySQL. Всего на стороне базы данных возможно 1000 подключений.

Когда я перезапускаю процесс приложения, проблема исчезает. Я ищу почему-то подключенные к сокетам, файловым дескрипторам, ядру .. Приложения открывают и закрывают ~ 10-30 соединений каждую секунду, чтобы было около 4-5к входящих соединений.

Как этого избежать?

lsof -nPi tcp 

сообщает о 5k подключениях (и правильном количестве исходящих в mysql).

/proc/sys/net/ipv4/ip_local_port_range

показывает от 10k до 60k доступных портов

ulimit -n установлен на большое число (100k)

Vmstat не показывает свопинга. У меня 50% ЦП и 25% памяти.

Что я могу проверить дальше? Как это исправить?