Rails ActiveRecord с MySQL зависает при достижении лимита пула соединений - PullRequest
4 голосов
/ 23 октября 2009

Если не указано, ActiveRecord запускает 4 соединения по умолчанию.

Я заметил, что если я перезагружаю простую страницу, которая делает по крайней мере один вызов ActiveRecord, 4 раза все работает нормально. Однако в пятый раз зависает почти 5 секунд. Итак, при каждой загрузке 5-й страницы он зависает на 5 секунд.

Я увеличил пул соединений по умолчанию в моем адаптере до 8, и теперь он зависает при каждом запросе 9-й страницы. Кажется, что он не использует повторно соединения, а убивает их и восстанавливает их, как только достигнут предел пула.

На самом деле я не использую ActiveRecord со всем стеком Rails.

Существует ли волшебный флаг подключения ActiveRecord, который предотвращает это? Или что-то еще не так?

1 Ответ

2 голосов
/ 23 октября 2009

Черт возьми, это было легко ...

ActiveRecord :: Base.clear_active_connections!

http://coderrr.wordpress.com/2009/01/12/rails-22-activerecord-connection-cleanup/

Конечно, хотелось бы, чтобы это было чем-то, что вы можете настроить, чтобы вам не приходилось вызывать его каждый раз.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...