Wybrałeś wartość wait_timeout i Interactive_timeout w konfiguracji MySQL?


12

Mamy serwer na żywo, który jest mocno uderzony, więc staramy się zoptymalizować wszystko, co możemy. Uruchomiliśmy na nim skrypt MySQLTuner ( http://mysqltuner.com/ ), który mówi nam, że powinniśmy ustawić wartość mniejszą niż 28800 dla wait_timeout i Interactive_timeout. Istnieje wiele możliwych liczb do wyboru od 1 do 28800!

Sprawdziłem znaczenie tych zmiennych w dokumentacji MySQL, ale to dało jedynie bardzo prosty opis i brak wskazówek dotyczących wyboru wartości.

Czy istnieje wartość, która jest uważana za ogólnie przyjętą najlepszą praktykę? A jaki byłby prawdopodobny wynik wyboru zbyt niskiej wartości?

Dzięki,

Bart.

Odpowiedzi:


19

wait_timeout to czas w sekundach bezczynności, przez który MySQL będzie czekać, zanim zamknie połączenie w połączeniu nieinteraktywnym. czas_interaktywny jest taki sam, ale dla sesji interaktywnych (powłoka mysql)

Ustawienie zbyt niskiej wartości może spowodować nieoczekiwane zerwanie połączeń, szczególnie jeśli używasz trwałych połączeń w swojej aplikacji internetowej.

Ustawienie zbyt wysokiej wartości może spowodować, że stare połączenia pozostaną otwarte, uniemożliwiając nowy dostęp do bazy danych.

IMO, dla wait_timeout, chciałbyś, aby ta wartość była jak najniższa, bez wpływu na dostępność i wydajność. Możesz zacząć od 10 sekund i stopniowo go zwiększać, jeśli widzisz obniżoną wydajność.

W przypadku Interactive_timeout zmiana tej wartości tak naprawdę nie zwiększy ani nie obniży wydajności aplikacji.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.