У нас есть действующий сервер, который сильно пострадал, поэтому мы стараемся оптимизировать все, что можем. Мы запустили на нем скрипт MySQLTuner (http://mysqltuner.com/), который говорит нам, что мы должны установить значение меньше 28800 для wait_timeout и interactive_timeout. Есть много возможных чисел на выбор от 1 до 28800!
Я просмотрел значение этих переменных в документации MySQL, но там было только очень общее описание и никаких указаний по выбору значения.
Есть ли значение, которое считается общепринятой передовой практикой? И каков будет вероятный результат выбора слишком низкого значения?
Спасибо,
Барт.
wait_timeout - это количество секунд во время бездействия, которое MySQL будет ждать, прежде чем он закроет соединение в неинтерактивном соединении. Interactive_timeout то же самое, но для интерактивных сессий (оболочка mysql)
Установка слишком низкого значения может привести к неожиданному разрыву соединений, особенно если вы используете постоянные соединения в своем веб-приложении.
Установка слишком большого значения может привести к тому, что устаревшие соединения останутся открытыми, что предотвратит новый доступ к базе данных.
IMO, для wait_timeout вы хотите, чтобы это значение было как можно меньшим, не влияя на доступность и производительность. Вы можете начать с 10 секунд и постепенно увеличивать их, если вы видите снижение производительности.
Для Interactive_timeout изменение этого значения не приведет к увеличению или уменьшению производительности вашего приложения.