Приложение Rails случайно вылетает с ошибкой «Преждевременное завершение заголовков скриптов»

StackOverflow https://stackoverflow.com/questions/824783

Вопрос

Я размещаю приложение Ruby on Rails 2.0.2 на DreamHost.Он находится на сервере Apache 2, работающем поверх Phusion Passenger.

Приложение часто возвращает ошибку 500 «Приложение Rails не удалось запустить должным образом», но в случайное время.Похоже, это происходит, когда приложение находится под более высокой нагрузкой, хотя я не могу это подтвердить.У него всего около 2000 просмотров страниц в день, поэтому я не думаю, что загрузка должна быть проблемой.

Журналы Apache сопоставляют эти 500 ответов с ошибкой:«Преждевременное завершение заголовков скриптов».Просто просмотрев логи сегодня в 9 утра, ошибка появляется три или четыре раза в минуту.Это явно неприемлемо.

Реже приложение выкидывает страницу Phusion Passenger с трассировкой стека и ошибкой "Broken Pipe".

В журналах Rails нет ни одной из этих ошибок.

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

Итак, я думаю, реальный вопрос: С чего начать устранение этой проблемы?

Это было полезно?

Решение

Оказывается, я просто исчерпал свой лимит памяти на общем сервере DreamHost.

Я запускал несколько приложений Rails под одной учетной записью, многие из них были предназначены только для тестирования и прототипирования.Rails использует много памяти, поэтому я быстро достиг своего распределения.Служба поддержки сказала мне: «Я проверил наши журналы и обнаружил, что за последние три дня один из ваших рубиновых процессов отключался 2325 раз». Упс.

Решение:постарайтесь не запускать Rails в общей среде, если можете.Скоро я собираюсь переключить хотя бы одно из своих приложений на хост VPS.

Другие советы

Вы используете последнюю версию пассажирской версии (2.2.2 на момент написания статьи). У меня было несколько ошибок, но большая часть (если не все) исчезла после обновления установки моего пассажира.

Если это не тот ответ, вы всегда можете попробовать обновить версию rails до 2.3 и посмотреть, сохраняется ли проблема.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top