Jaka jest rzeczywista różnica między wait_timeout
i interactive_timeout
?
interactive_time
jest przeznaczony do sesji interaktywnych, natomiast wait_timeout
do sesji nieinteraktywnych.
Co to jest sesja interaktywna? To jeden z człowiekiem na klawiaturze.
Kiedy twój kod łączy się z MySQL, uruchamia zapytanie, a następnie spędza 3 sekundy na przetworzenie tego zapytania przed rozłączeniem, to 3 sekundy wait_timeout
.
Gdy łączysz się z mysql
klientem wiersza poleceń, uruchom polecenie i spędź 10 sekund na czytaniu danych wyjściowych, czyli 10 sekund interactive_timeout
. Jeśli odejdziesz i zjesz lunch, to 3600 sekund interactive_timeout
.
W obu przypadkach, gdy Ty lub Twój kod uruchomisz inne zapytanie, czas oczekiwania zostanie zresetowany do zera.
Możesz zobaczyć wartości dla wszystkich bieżących sesji, pisząc show processlist
. Wartości w sleep(5)
funkcji to liczba sekund, które upłynęły od ostatniego połączenia.