Как удалить спящий процесс в Mysql



Я обнаружил, что у моего mysql sever есть много соединений, которые спят. я хочу удалить их все.



Итак, как я могу настроить мой сервер mysql, чем затем удалить или утилизировать соединение, которое находится в спящем режиме, а не в процессе.



Возможно ли удалить эту вещь в mysql скажите мне, как я могу сделать следующее



Соединение разрешить только один раз datareader открыть и уничтожить соединение [процесс] после предоставления resposnse запроса.

800   3  

3 ответов:

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

Это уменьшает массу накладных расходов на создание потоков "по требованию", и беспокоиться не о чем. Спящий поток использует около 256 Кб памяти.

Если вы хотите сделать это вручную, вы можете сделать так:

Войдите в Mysql как администратор:

 mysql -uroot -ppassword;

И затем выполнить команду:

mysql> show processlist;

Вы получите что-то вроде ниже:

+----+-------------+--------------------+----------+---------+------+-------+------------------+
| Id | User        | Host               | db       | Command | Time | State | Info             |
+----+-------------+--------------------+----------+---------+------+-------+------------------+
| 49 | application | 192.168.44.1:51718 | XXXXXXXX | Sleep   |  183 |       | NULL             ||
| 55 | application | 192.168.44.1:51769 | XXXXXXXX | Sleep   |  148 |       | NULL             |
| 56 | application | 192.168.44.1:51770 | XXXXXXXX | Sleep   |  148 |       | NULL             |
| 57 | application | 192.168.44.1:51771 | XXXXXXXX | Sleep   |  148 |       | NULL             |
| 58 | application | 192.168.44.1:51968 | XXXXXXXX | Sleep   |   11 |       | NULL             |
| 59 | root        | localhost          | NULL     | Query   |    0 | NULL  | show processlist |
+----+-------------+--------------------+----------+---------+------+-------+------------------+

Вы увидите полные сведения о различных соединениях. Теперь вы можете отключить спящую связь, как показано ниже:

mysql> kill 52;
Query OK, 0 rows affected (0.00 sec)

Вы можете найти весь рабочий процесс execute the sql:

show process;

И вы найдете процесс сна, Если вы хотите завершить его, пожалуйста, запомните processid и извольте этот sql:

kill processid

Но на самом деле вы можете установить переменную timeout в my.cnf:

wait_timeout=15
connect_timeout=10
interactive_timeout=100

Comments

    Ничего не найдено.