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

Приложение Rails продолжает тайм-аут при попытке подключения к Postgresql DB

Я размещаю базу данных postgresql на небольшие окна лазурного Ubuntu 13.04 VM со стандартным postgresql.conf. У меня есть приложение Rails, работающее на средней виртуальной машине Ubuntu 13.04 с Windows. При доступе к базе данных postgresql приложение rails постоянно отключается. В его database.yml размер пула соединений установлен на 120, а таймаут - на 15 секунд. Несмотря на это, в моих журналах рельсов есть следующее сообщение об ошибке:

ActiveRecord::ConnectionTimeoutError: could not obtain a database connection within 5 seconds (waited 5.0023203 seconds). The max pool size is currently 120; consider increasing it.

Мой postgresql.conf имеет максимальное ограничение на количество подключений 120, увеличение его не позволяет серверу успешно перезапуститься. Я также убедился, что ssl отключен в postgresql.conf для Эта статья но помимо этого я понятия не имею, что происходит. Мои журналы postgresql не содержат информации о том, что что-то идет не так. Мой веб-сайт получает около 1000 обращений в день, так что, возможно, небольшой экземпляр виртуальной машины недостаточно мощный? Я ценю любую помощь!

[Edit1] База данных postgresql находится в отдельной облачной службе в той же группе соответствия. Например:

db малая виртуальная машина: mydatabase.cloudapp.net (Affinity Group, Восток США)
форумы средняя ВМ: myforums.cloudapp.net (Affinity Group US East)

На сервере базы данных я открыл порт 5432. Соединение с сервером базы данных с сервера форума использует его имя хоста. Возможно ли, что разрешение DNS занимает так много времени?

Использование внутреннего IP-адреса Windows Azure вместо имени хоста решило проблему. Очевидно, стоимость разрешения DNS довольно высока.