Re: похоже не работает fastcgi_ignore_client_abort

Ihalainen Nickolay ihanick на gmail.com
Пн Дек 21 16:15:44 MSK 2009


2009/12/21 Борис Долгов <boris at dolgov.name>:
> Насколько я понимаю, оно будет посылать сигнал процессу, и умирать
> будет не выполнение скрипта, а сам процесс. А у fastcgi, вроде бы,
> смысл как раз в том, чтобы такого не было.
эти рассуждения не применимы для mainline php. Скомпилированный
байткод или выбрасывается или сохранён в shared memory.
Overhead в случае с килянием процесса - fork.
>
> 21 декабря 2009 г. 0:46 пользователь Adrenalin <adrenalinup at gmail.com> написал:
>> вот наткнулся на статью которая предлагает использовать pcntl_alarm()
>> http://www.mysqlperformanceblog.com/2008/05/20/apache-php-mysql-and-runaway-scripts/
>>
>> 2009/12/19 Борис Долгов <boris at dolgov.name>
>>>
>>> php-fpm на 5.2.11 у меня на базе и на файлах сессий лочился, не взирая
>>> на эту настройку. По поводу слипов - не могу сказать.
а поллинг вас не устраивает?
http://php.net/manual/en/mysqli.poll.php

>>>
>>> 19 декабря 2009 г. 4:39 пользователь nginx at rufox.ru <nginx at rufox.ru>
>>> написал:
>>> > Alex Vorona пишет:
>>> >>
>>> >> 18.12.2009 06:09, nginx at rufox.ru wrote:
>>> >>>
>>> >>> Alex Vorona пишет:
>>> >>>>
>>> >>>> request_execution_timeout у php-fpm может дать то что нужно
>>> >>>
>>> >>> Когда выбирал между php-fpm и spawn-fcgi в первом помнится во время
>>> >>> тестов меня тоже что-то не устроило.
>>> >>> А кто-нибудь использует вместо них apache 2.0.x или 2.2.x + mod_php ?
>>> >>> Есть ли смысл пробовать перейти на него, или результат несомненно
>>> >>> будет
>>> >>> таким же?
>>> >>
>>> >> У mod_php под *nix AFAIK нет средств ограничения, аналогичных
>>> >> request_execution_timeout у php-fpm.
>>> >
>>> > Вы наверное имели ввиду request_terminate_timeout
>>> > Попробовал я его (php-fpm-0.6-5.2.11).
>>> > Залочил базы. Запустил много раз страницу, которая стучится к базе. Локи
>>> > повисли процессы кончились и висели так пока не разлочил базу (секунд
>>> > 200)
>>> > При этом request_terminate_timeout = 10s
>>> > Попробуйте пожалуйста кто-нибудь у себя на php-fpm. Может проблема ни в
>>> > нём,
>>> > а в кривых руках....
>>> > :(
>>> >
>>> > Кстати случайно заметил интересную особенность
>>> > запустил вот такой скриптик
>>> >
>>> > <?php
>>> > ob_start();
>>> > $f=fopen('test1.txt','a');
>>> >  for ($i=0; $i<180; $i++) {
>>> >     sleep("1");
>>> >     fwrite($f,"$i\n");
>>> >  }
>>> > fclose($f);
>>> > ?>
>>> >
>>> > Он тоже отрабатывает до конца. Но интересно то, что ровно через 10
>>> > секунд
>>> > словно игнорируется функция sleep. Т.е. скрипт гораздо быстрее выполняет
>>> > цикл, чем должен. Вот такие вот дела.
>>> > Может дело в ОС (FreeBSD 7.2) ?
>>> > В последнее время всё чаще сталкваюсь с тем, что в ней что-то не
>>> > работает
>>> > или работает не так как хотелось бы, по сравнению с linux...


Подробная информация о списке рассылки nginx-ru