nginx-1.3.10
Maxim Dounin
mdounin at mdounin.ru
Tue Dec 25 18:38:31 UTC 2012
Hello!
On Tue, Dec 25, 2012 at 10:08:58PM +0400, Михаил Монашёв wrote:
> Здравствуйте, Maxim.
>
> >> > *) Добавление: параметры flush и gzip в директиве access_log.
> >>
> >> А что они значат?
>
> > http://nginx.org/r/access_log
>
> Спорное нововведение. Развитие Апача сейчас к сожалению идёт тем же
> путём: они пытаются вбирать в себя функционал утилит, обслуживающих
> основную программу. Но только зачем, если есть тот же logrotate,
> который уже умеет заниматься ротацией и сжатием логов? Апач,
> по-хорошему, уже давно закончен и надо разработчикам остановится и
> только баги фиксить.
>
> Так и в nginx-е, зачем рабочие процессы занимать сжатием логов, если
> сторонний процесс этим может качественее занимаются? Например, можно
> сжимать другим архиватором и потом пускать разные скрипты. Только в
> nginx-е, а отличии от Апача, ещё есть много нереализованного.
>
> Хотя может я что-то не понимаю...
>
> Или это может для экономии нагрузки на диск делается, когда диск слаб,
> а процессора и памяти много?
Делать это сторонним процессом постфактум (как это обычно и
делается) - значит получить периодически всплески нагрузки на
процессор и на диски, что не всегда приемлемо. (Ну и опять же,
тратит лишние ресурсы на запись в диск.)
Делать это сторонним процессом налету - значит зависеть от
работоспособности этого стороннего процесса, что плохо, а также
тратить память на вечное висение этого стороннего процеса
(особенно если логов много), и CPU на переключение контекста между
nginx'ом и этим процессом.
Возможность "быстро и дёшево" жать логи - она слегка специфична
(большинству вполне подходит стандартная схема с logrotate +
gzip/bzip/whatever, либо же годится банальное отключение
access_log'а), но местами очень полезна. Собственно, это
такое логичное продолжение работы с буферизированными логами.
--
Maxim Dounin
http://nginx.com/support.html
Подробная информация о списке рассылки nginx-ru