Интересные вопросы, связанные с lighttpd на Amazon EC2 - PullRequest
1 голос
/ 05 мая 2010

Эта проблема появилась сегодня, и я понятия не имею, что происходит. Пожалуйста, поделитесь своими идеями.

У меня есть 1 сервер БД EC2 (MYSQL + общий доступ к файлам NFS + Memcached).

И у меня есть 3 веб-сервера EC2 (lighttpd), где он будет монтировать папки NFS на сервере БД.

В течение нескольких месяцев все идет гладко, но внезапно возникает интересное явление.

Каждые 8-10 минут PHP-файл будет недоступен. Это будет длиться около 1 минуты, а затем возвращается в нормальное состояние. Нормальные файлы, такие как .html, не затрагиваются. Все серверы имеют одинаковую проблему в одно и то же время.

Я провел целый день, чтобы проанализировать причину. Наконец, я выясняю, когда возникает проблема, файловый дескриптор lighttpd внезапно сильно увеличился.


Я использовал ls /proc/1234/fd | wc -l, чтобы проверить число fd.

Число fd составляет около 250 в обычное время. Однако, когда проблема возникла, она будет повышена до 1500, а затем вернется к нормальной.

Звучит смешно, правда? Ты хоть представляешь, что происходит?

======================== График ЦП одного из веб-серверов. альтернативный текст http://pencake.images.s3.amazonaws.com/4be1055884133.jpg

1 Ответ

1 голос
/ 10 мая 2010

Мысль:

  • Посмотрите на вывод dmesg.
  • Количество файловых дескрипторов, которые подпрыгивают, звучит для меня, как будто что-то блокирует, включая обработку соединений с lighttpd / PHP, который создается до тех пор, пока не закончится условие блокировки.
  • Когда вы говорите, что файл PHP недоступен, вы имеете в виду, что файл отсутствует? Или может сценарий PHP останавливается во время выполнения или? То, что говорят файлы журнала lihttpd, происходит при вызовах этого сценария PHP. Есть ли еще какие-нибудь подсказки в lighttpd?
  • Какое максимальное количество файловых дескрипторов для процесса / пользователя?
  • Время от времени я и другие сталкивались со странным поведением в сети на экземплярах EC2. Дайте нам больше подробностей об этом. Может быть, настроить дополнительный мониторинг связи между вашими экземплярами. Подумайте о том, чтобы переместить ваш экземпляр проблемы в другой экземпляр в надежде, что проблема волшебным образом исчезнет. (Снято в темноте.)

И наконец ...

  • DOS-атака? Я сомневаюсь в этом - было бы в автономном режиме или нет. Это способ слишком рано в процессе отладки, чтобы вы могли предположить, что кто-то участвует в нем.
...