Re: nginx отъедает все процессорное время
Валентин Бартенев
vbart на nginx.com
Вт Мар 1 16:02:04 UTC 2016
On Tuesday 01 March 2016 10:52:08 mikhal123 wrote:
> Валентин Бартенев Wrote:
>
> > Лог получил. У вас в процессе работы nginx что-то с файлами происходит,
> они как-то изменяются, редактируются, обновляются?
>
> Да. Именно тот файл, из-за которого судя по логам все и происходит,
> обновляется один раз в 15 секунд.
> Крон дергает небольшой пхп-скриптик, который делает простейшую запись в этот
> файл.
> Если это существенно, то выглядит вот так:
> $handler = fopen($filename, "w+");
> fwrite($handler, $output);
> fflush($handler);
> fclose($handler);
>
[..]
Это всё и объясняет. Нельзя изменять файлы, которые раздаются. Клиент
получит мусор, а вы получите странную ошибку или такое вот зацикливание.
Если вы хотите переписать файл, то делать это нужно атомарно, иначе
представления nginx об отдаваемом файле и его размере разойдутся с
фактическим на файловой системе. У вас вероятность этого события была
увеличена ещё в несколько раз включенным "open_file_cache".
--
Валентин Бартенев
Подробная информация о списке рассылки nginx-ru