PHP_FCGI_MAX_REQUESTS ограничен в 400, с этого собственно начал ...
проблема в том что эту ситуацию отловить совсем непросто, когда пхп
виснет - сможелировать на тестовом сервер не получается, а error_log в
debug - очень большой, да и непонятно как искать - по первому таймауту
разьве. и самое смешное под апачем такого вроде нет ...
IS> On Thu, 10 Feb 2005, Alexey Bestciokov wrote:
>> вопрос наверное не к игорю, скорее к тем кто пользуется fcgi php с
>> nginx ...
>>
>> столкнулся тут со странным поведением пхп при запуске в fcgi моде - через
>> некоторое время (от 4х до 40 и больше часов ) пхп перестает
>> отвечать на запросы - то есть процессы висят, что то делают неспешно,
>> но все запросы видимо ставятся в очередь ...
>> если попробовать подключиться к какому нибудь из них gdb, бэктрейс
>> дает следующще:
>> (gdb) bt
>> #0 0x402bde9e in read () from /lib/tls/libc.so.6
>> #1 0x08184b8b in FCGX_GetParam ()
>> #2 0x081851e4 in FCGX_Accept_r ()
>> #3 0x08187cda in main ()
>>
>> судя по бэктрейсу - пхп пытется прочитать переданный ему environment и
>> на этом зацикливается/подвисает.
>> никто не сталкивался с подобным поведением ?
>>
>> linux 2.6.10
>> debian sarge
>> веб сервер - nginx
>> проявляется на 2х серверах между которыми собственно и делится нагрузка.
>> на третьем сервере всё при этом работает вполне устойчиво - хотя там
>> на пхп и нагрузка поменьше
IS> В оправдание nginx'а могу сказать лишь то, что если в fcgi передать
IS> неверно оформленные данные, то fcgi сразу же закрывает соединение.
IS> Можно попробовать посмотреть, какой параметр в этот момент читает fcgi.
IS> Ещё можно ограничить число запросов на один php:
IS> PHP_FCGI_MAX_REQUESTS=1000
IS> Игорь Сысоев
IS> http://sysoev.ru
Алексей Бещёков.
proforg@xxxxxxxxxxxx