Какая фактическая разница между wait_timeout
и interactive_timeout
?
interactive_time
для интерактивных сессий, тогда wait_timeout
как для неинтерактивных сессий.
Что такое интерактивная сессия? Это один с человеком за клавиатурой.
Когда ваш код подключается к MySQL, запускает запрос и затем тратит 3 секунды на обработку этого запроса, прежде чем отключиться, это 3 секунды wait_timeout
.
Когда вы используете mysql
клиент командной строки для подключения, запустите команду и потратите 10 секунд на чтение вывода, это 10 секунд interactive_timeout
. Если вы уйдете и пообедаете, это 3600 секунд interactive_timeout
.
В обоих случаях, когда вы или ваш код запускаете другой запрос, время ожидания сбрасывается до 0.
Вы можете увидеть значения для всех текущих сессий, набрав show processlist
. Значения в sleep(5)
функции - это количество секунд, прошедшее с того момента, когда это соединение в последний раз что-то делало.