Вы можете проверить переменные тайм-аута MySQL:
show variables like '%timeout%';
Возможно, вы заинтересованы в wait_timeout
(менее вероятно, но возможно: interactive_timeout
). В Debian и Ubuntu значения по умолчанию - 28800 (MySQL убивает соединения через 8 часов), но, возможно, по умолчанию для вашей платформы они другие или тот, кто администрирует сервер, настроил все по-другому.
AFAICT, pool_recycle
на самом деле не поддерживает соединения живыми, их срок действия истекает сам по себе, прежде чем MySQL их убивает. Я не знаком с пилонами, но если периодически вызывать соединения, то SELECT 1;
- вариант, который будет поддерживать их работу за счет, по сути, отсутствия нагрузки на сервер и минимального сетевого трафика. Одна заключительная мысль: вам как-то удается использовать соединение, которое, по мнению пилонов, истекло?