powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / MySQL [игнор отключен] [закрыт для гостей] / show processlist - не исчезают следы старых соединений
11 сообщений из 11, страница 1 из 1
show processlist - не исчезают следы старых соединений
    #39064394
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Добрый день!
Собственно проверял работу клиентской части на разрыв соединения.
Несколько раз вытаскивал шнур из сетевой карты.

Возникло пара вопросов.
1) Установленные Get_lock исчезают далеко не сразу. Почему и где подкрутить?
Смотрел SELECT * FROM INFORMATION_SCHEMA.METADATA_LOCK_INFO
При штатном выходе такого не происходит.

2) show processlist показывает процессы, которых по идее уже не должно быть. В столбце command - sleep.

Спасибо.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064425
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32из сетевой карты.клиента или сервера?
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064429
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Из клиента.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064461
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32Из клиента.А тогда почему должно что-то исчезать на сервере?
Сервер-то об этом не знает.
Вот когда таймауты выйдут, тогда да.
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_wait_timeout
http://dev.mysql.com/doc/refman/5.5/en/server-system-variables.html#sysvar_interactive_timeout
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064489
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
"Снятие блокировки осуществляется при помощи функции RELEASE_LOCK(), ко-
торая рассматривается далее, повторным вызовом функции GET_LOCK(), а так-
же в результате разрыва соединения с сервером."

Например, я создал GET_LOCK('qqq') на запись. Потом обрыв соединения.
Новый коннект и мой прежний GET_LOCK уже не мой, т.к. другая сессия. И моя собственная блокировка на меня же и ругается.

Эти переменные для Веба может и хороши, но я в локалке работаю.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064497
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32Эти переменные для Веба может и хороши, но я в локалке работаю.Эти переменные к вебу никакого отношения не имеют, это параметры MySQL.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064500
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32Потом обрыв соединения.вытаскивание шнура не означает разрыва соединения.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064509
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Но сервер же "понимает", что клиент отвалился? Или нет?
Можно как-то перехватить сессии отвалившегося клиента и их прибить?

Каков порядок тогда interactive_timeout, wait_timeout?
Блокировка должна убиваться сразу.
А если значения interactive_timeout, wait_timeout маленькие, то юзер кофе глотнуть не успеет, как сервак отвалится.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064510
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32Но сервер же "понимает", что клиент отвалился? Или нет?Нет, не понимает.
Сервер не может различить состояния "клиент не хочет посылать запрос" и "клиент не может послать запрос".

miv32А если значения interactive_timeout, wait_timeout маленькие, то юзер кофе глотнуть не успеет, как сервак отвалится.Выбирайте другие методы блокировки вместо Get_lock.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064513
miksoft
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
miv32А если значения interactive_timeout, wait_timeout маленькие, то юзер кофе глотнуть не успеет, как сервак отвалится.Кстати, можно сделать в программе периодическую отправку "пинговых" запросов (например, "SELECT 0") чтобы регулярно сбрасывать счетчики таймаутов.
...
Рейтинг: 0 / 0
show processlist - не исчезают следы старых соединений
    #39064516
miv32
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Будем искать...
Спасибо. :)
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / show processlist - не исчезают следы старых соединений
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]