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

Rails + MySQL: как уменьшить время ожидания процесса сна?

Когда я запускаю 'show processlist;', у меня появляется так много процессов сна.

результат 'показать списки процессов'

Я установил wait_timeout и interactive_timeout на 60 в my.cnf. Но процесс сна не умирает, когда время 60 в списке процессов. Я обнаружил, что процесс сна прекращается, когда время 7900. Что случилось ?? Как уменьшить время ожидания сна?

Если вам понадобится другая информация, я дам информацию по мере возможности.

ОБНОВИТЬ

Я использую root, read_only и разворачиваю учетную запись на mysql. И я обнаружил, что учетные записи root и read_only работают правильно. Запрос -> Сон - (60 сек) -> процесс выпуска.

Но учетная запись развертывания, используемая для подключения между сервером rails и mysql, работает неправильно. Запрос -> Сон - (7900сек) -> отпустить. Итак, я думаю, что проблема с развертыванием учетной записи или Rails. Однако я не знаю, как это исправить.

Если вы добавили эти значения в свой /etc/my.cnf, вам необходимо перезапустить MySQL, чтобы они вступили в силу.

Вы можете изменить их интерактивно с помощью этих команд

SET GLOBAL interactive_timeout = 180;
SET GLOBAL wait_timeout = 180;

Обратите внимание, что существующие соединения не будут принимать новые значения, они будут отключаться по таймауту в зависимости от настроек, когда они были созданы.