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