Я новичок в Rails и просто развернул свое первое приложение в Heroku (на свободном уровне). Я установил бесплатную пробную версию New Relic и установил контроль доступности для ping my/register/URL каждые 1 минуту. Я запускаю Rails 3.2.13 и Ruby 1.9.3.Heroku: Обычный 15 минут на простое приложение Rails
У моего приложения нет пользователей и нет запросов (2 запроса в минуту, в основном, из NewRelic). У меня нет фоновых служб или внешних зависимостей. Модель данных проста, и никакие запросы не занимают более 100 мс.
Я получаю полный перерыв продолжительностью ровно 15 минут каждые несколько часов.
Поскольку Heroku только хранит 1500 строк журналов не имеют данных для каждого случая, но вот журнал для 2-го всплеска (мой график -0400, Heroku является UTC).
Полный журнал:https://gist.github.com/jbinto/5495226/raw/ba61ec16d9655287466cfbb9328f59c0171b2df7/heroku.log
Резюме
- 00:56:21 по 01:00:21: Он пыхтит по 1 запросу в минуту в обычном режиме.
- 01:01:55: Последний запрос, который пришел, кажется, не обслуживается.
- 01:02:21 по 01:17:21: 54 H12 (запрос таймаута).
- 01:17:25: PG :: Error (ошибка SSL SYSCALL: EOF обнаружен) (в сторону: я замечаю заявления журнала Heroku находятся в порядке, странно.)
Является ли это PG :: Устранить причину моих проблем или просто симптом? Некоторые Googling показывает обсуждение Postgres ауты на стартер яруса, а некоторые увещевание не используя производственный уровень: https://groups.google.com/forum/?fromgroups=#!topic/heroku/a6iviwAFgdY
Больше StackOverflow: Postgres + Heroku SSL SYSCALL error
И билет Рельсы о авто-переподключение: https://github.com/rails/rails/issues/9421
Это похоже на хороший ключ, но никто, кажется, не решил этого. Похоже, что в Postgres Heroku есть некоторая хладнокровие, и Rails < 4 не выздоравливает от этого.
- 01:17:26 по 01:17:27:. 58 запросов GET являются «обслужен» (я полагаю, эти запросы на клиент давно ушел из-за второй тайм-аут 30 Почему эти запросы все еще идут?)
- 01:17:51: Все возвращается в норму.
Любые идеи? Я открою билет на поддержку Heroku, но не уверен, что я получу где-нибудь бесплатно.
Спасибо Нейл. Это объясняет, почему логарифм запросов возвращается через 15 минут. Я развернул тайм-аут стойки в надежде предотвратить очередь запросов и получить лучшую трассировку стека, но я до сих пор не понимаю основную причину долговременных запросов. Мое приложение простое, никаких внешних зависимостей, и когда приложение работает, запросы не требуют более 100 мс. Мое чувство кишки - это некоторая щекотливость с соединением между моим Rails-приложением и Heroku Postgres (например, устаревшее соединение, которое истекает через ~ 15 минут). –