Apache + Passenger - работает Apache; но не отвечая на запросы - PullRequest
3 голосов
/ 11 июля 2010

Фон

Я запускаю приложение Ruby on Rails, которое также должно обслуживать много статических файлов.

Моя настройка в настоящее время:

Debian Linux Lenny 5.0 Apache 2.2.9 Passenger 2.2.10

Проблема

Всеработает нормально.Я вижу, как ускоряется процесс Apache, создаются пассажирские экземпляры, и все работает быстро и быстро.

Затем через некоторое время Apache больше не отвечает на запросы.Клиенты получают соединение и «ждут ответа», но никто не приходит.

Я не могу вручную воспроизвести эту проблему.Иногда это происходит через несколько часов после перезапуска, в других случаях требуется несколько дней.Вот что я нашел:

Процесс Apache запущен;Пассажир есть, но у него не было ни одного экземпляра (возможно, потому что экземпляры умирают после периода бездействия)

Нет сообщений об ошибках или проблем в / var / log / syslog, / var / log / messages,не в журналах доступа и ошибок apache, не в моем рабочем журнале Rails.Ничего такого.

Когда я останавливаюсь и запускаю apache, все возвращается в норму.

Кто-нибудь знает, что здесь происходит?И как это можно решить?

1 Ответ

0 голосов
/ 06 февраля 2012

Из-за огромной нагрузки на статические файлы мы решили разместить статические файлы на отдельном сервере (позже Amazon S3 + CloudFront) по соображениям производительности.

Мое текущее предположение состоит в том, что Apache не мог справиться с большим количеством запросов к статическим файлам и , также выполняющим Passenger. Текущая настройка: Nginx + Unicorn для приложения Rails и S3 + CloudFront для статических файлов.

...