Назад | Перейти на главную страницу

Выбор значения для wait_timeout и interactive_timeout в конфигурации MySQL?

У нас есть действующий сервер, который сильно пострадал, поэтому мы стараемся оптимизировать все, что можем. Мы запустили на нем скрипт MySQLTuner (http://mysqltuner.com/), который говорит нам, что мы должны установить значение меньше 28800 для wait_timeout и interactive_timeout. Есть много возможных чисел на выбор от 1 до 28800!

Я просмотрел значение этих переменных в документации MySQL, но там было только очень общее описание и никаких указаний по выбору значения.

Есть ли значение, которое считается общепринятой передовой практикой? И каков будет вероятный результат выбора слишком низкого значения?

Спасибо,

Барт.

wait_timeout - это количество секунд во время бездействия, которое MySQL будет ждать, прежде чем он закроет соединение в неинтерактивном соединении. Interactive_timeout то же самое, но для интерактивных сессий (оболочка mysql)

Установка слишком низкого значения может привести к неожиданному разрыву соединений, особенно если вы используете постоянные соединения в своем веб-приложении.

Установка слишком большого значения может привести к тому, что устаревшие соединения останутся открытыми, что предотвратит новый доступ к базе данных.

IMO, для wait_timeout вы хотите, чтобы это значение было как можно меньшим, не влияя на доступность и производительность. Вы можете начать с 10 секунд и постепенно увеличивать их, если вы видите снижение производительности.

Для Interactive_timeout изменение этого значения не приведет к увеличению или уменьшению производительности вашего приложения.