Amazon RDS (Mysql2 :: Ошибка 110)

У меня было приложение Rails, работающее в производственной среде в течение последних 6 месяцев, с еженедельными развертываниями, без каких-либо проблем.

Теперь у меня повторяющаяся проблема в течение примерно 3 недель, и кажется, что каждую неделю она становится хуже. Когда мое приложение загружается и достигает точки, в которой оно пытается подключиться к БД, я получаю эту ошибку:

Can't connect to MySQL server on '***.amazonaws.com' (110) (Mysql2::Error)

AFAIK, эта ошибка говорит мне, что я достиг максимального количества подключений MySQL.

Из конфигов я смогу открыть 296 соединений. Мое приложение настроено на запуск 7 экземпляров с каждым из 5 пулов подключений к базе данных, поэтому при развертывании нового экземпляра оно не может превышать 70 подключений.

Я никогда не видел, чтобы количество подключений превышало 20 ни в консоли AWS RDS, ни в команде SHOW PROCESSLIST.

Я не думаю, что это имеет какое-либо отношение ни к Rails, ни к моему серверу приложений (Puma), поскольку я не могу подключиться через инструмент командной строки MySQL, когда возникает проблема.

У кого-нибудь была аналогичная проблема с MySQL на RDS или с самим MySQL?


person Jim    schedule 06.02.2014    source источник
comment
connection, возможно?   -  person Marc B    schedule 07.02.2014


Ответы (2)


Пул базы данных не для каждого приложения, а для каждого процесса. Если это многопоточность / многопроцесс на каждый экземпляр, он может использовать больше. Вы пробовали перезапустить mysql? Похоже, у вас по какой-то причине зависли соединения.

person Lethjakman    schedule 07.02.2014
comment
Я пытаюсь не перезапускать его, но, возможно, придется. Я читал, что RDS требует времени для перезагрузки экземпляров, поэтому я не могу это сделать в течение дня. Если бы соединения зависали, разве я не видел бы их в списке процессов? - person Jim; 07.02.2014

Я получаю эти проблемы недавно. Может ли это быть связано с ожидающим перезапуском изменением группы параметров в моем экземпляре RDS? Я очень надеюсь, что нет. Насколько я понимаю, незавершенное изменение не должно влиять на текущую производительность.

person Sankalp    schedule 23.12.2014
comment
Это не так. Я сделал перезапуск, и теперь ничего не ожидает. Тем не менее проблема возникает периодически. - person Sankalp; 26.12.2014