простой вопрос

Andrei Nigmatulin andrei.nigmatulin at gmail.com
Sat Dec 6 01:50:29 MSK 2008


On Saturday 06 December 2008 01:13, Василишин Андрей wrote:
> Здравствуйте, silly_sad, Вы писали:
> > попробуйте php-fpm.anight.org и благополучно забуддьте про апач и mod_php
>
> Почему-то процессы php-fpm постоянно форкаются, юзал пол года назад,
> сейчас вот друг неделю назад еще юзал - эффект тот же. При этом
> постоянно вылазит 502, 504 и ЛА 20. Может я делал что-то не так,

502 говорит о том, что нужно чинить php. Например, в 5.2.5 был баг, из-за 
которого php падал и запрос завершался 502-й ошибкой. По записям в 
php-fpm.log на момент падения можно провести первичную диагностику.

504 чаще всего происходит, когда запросов у вас много, а свободных php мало, 
обычно когда происходят "всплески" трафика.

Apache никогда не показывает вам 504 потому, что если он accept'нул 
соединение, значит у него есть свободный php, который немедленно приступает к 
обработке. В момент всплеска трафика Apache просто не принимает новые 
соединения. В этом случае timeout возникает на стороне клиента, и по сути это 
та же самая 504. А в случае с nginx соединения принимаются практичеки 
мгновенно без учета есть свободные php воркеры или нет. И он ничего не может 
поделать новые соединения прибывают быстрее, чем php успевает их 
обрабатывать. И php-fpm тут не при чем.

Все, что в данной ситуации можно делать - увеличивать кол-во воркеров и 
ускорять выполнение php скриптов всеми способами.

Ваш большой ЛА лишь подтверждение того, что процессы конкурируют за процессор.

php-fpm со своей стороны скоро получит базовые средства мониторинга очередей 
fastcgi соединений и запросов, это поможет "видеть" всплески и сравнивать 
скорость обработки скриптов с апачевой.


> бектрейсы постил, может просто php-fpm не дружит с Гентой. С
> nginx+apache2 все в ажуре, ЛА 5 при отдаче > 600 Мбит/с.
> ЗЫ Ничего личного против Андрея Нигматулина не имею.

-- 
Andrei Nigmatulin
GPG PUB KEY 6449830D

Now I lay me down to sleep(3)
Pray the OS my core to keep
If I die before I wake
Pray the Disk my core to take


More information about the nginx-ru mailing list