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

Найдите источник спящих соединений mysql

На нашем сервере запущено очень большое количество скриптов PHP, которые выполняют самые разные задачи. В последнее время я заметил, что при просмотре PHPMyAdmin обнаруживается, что большое количество подключений к нашему серверу MySQL просто затягивается.

Обычно мы очень хорошо закрываем соединения, когда запросы в скрипте выполнены, но очевидно, что где-то по пути мы пропустили одно или несколько.

Я знаю, к какой базе данных выполняется подключение, но это только сужает его.

TL / DR Я ищу простой способ определить, какой сценарий поддерживает соединение, хотя его не должно быть.

Найдите в полном списке процессов столбец Host этих подключений:

show full processlist\G

Возьмите хост и порт одного из этих подключений.

Затем подключитесь по SSH к исходному серверу и найдите, какой процесс установил это соединение:

netstat -ntp |grep :theport

В конце строки у вас будет имя pid / процесса вашего скрипта.