Завершить все sleep соединения в MySQL

Завершить все sleep соединения в MySQL

Из-за плохого кода в php может скопиться довольно большое количество sleep соединений которые нагружают сервер и забьют допустимое число что чревато падению сайта, mysql а может даже и самого сервера по этому, нужно завершить все sleep соединения в MySQL  вовремя.

Смотрим сколько всего соединений:

ИЛИ:

ИЛИ:

ИЛИ:

Завершить все sleep соединения в MySQL

Можно для начала посмотреть сколько sleep соединений имеется в самом mysql:

Тем самым мы подключимся к серверу с mysql, нужно будет ввести пароль для этого.

Теперь, можно выполнить команду которая покажет все запросы:

show processlist;

Зная ID процесса, можно завершить его:

Не сильно удобно если их наплодилось МНОГО! Ниже будут приведены готовые, простые решения.

Кстати! Самое простое, НО НЕ ХОРОШЕЕ РЕШЕНИЕ — это перезапустить mysql:

PS: можно 2 команды что выше, объединить в одну:

Можно записать вывод в файл для дальнейшего использования\анализа:

Можно посмотреть sleep-ы и по другому, немного больше параметров:

Завершить все  sleep SELECT запросы можно выполнив команду:

Можно написать процедуру и потом ее использовать:

Чтобы ее использовать, используйте:

Завершить все:

Или:

PS: НУЖНО ПРОВЕРИТЬ 2 последних предложения завершить запросы в mysql! Я так не делал никогда!

Не заходя в сам mysql, можно использовать:

Вот еще один вариант как убить все заслипаные процессы:

ИЛИ (для пользователя):

Вот еще один интересный пример. Эта команда может помочь убить все процессы сна:

PS: Нашел ее на форуме, еще не успел проверить. Думаю что будет тоже работать.

Bash скрипты с реализацией

1. Вариант

Вот и все, статья «Завершить все sleep соединения в MySQL» завершена.

One thought on “Завершить все sleep соединения в MySQL

  1. Эх…

    Фсе.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *