16.12.2009 11:38, Ihalainen Nickolay wrote:
> 2009/12/16 Anton Yuzhaninov <citrin@citrin.ru>:
>> Ihalainen Nickolay wrote:
>>
>>> Вариант с tail конешно хорош, но зачем эти бешенные гигабайты писать на диск?
>>> gzip поможет с этой проблемой, однако, он будет дважды использовать
>>> cpu: для записи на диск и для чтения с него.
>> Запись логов из nginx на диск линейная, и в таком режиме можно писать много
>> создавая небольшую нагрузку на диск.
>>
>> А вот mysql на каждую строчку которую в него insert-ят будет делать кучу сиков и
>> создаст на диск нагрузку гораздо больше.
> сишный или перловый парсер лога вообще может на диск/базу не писать.
> Насколько я понимаю база нужна не для хранения, а для анализа. делая
> анализ на лету а не по крону можно сильно экономить процессор и
> дисковую полосу. запрещение | в логах это запрет стрелять, под
> предлогом, что выстрел в собственную ногу это опасно.
>
> Хотя стрелять в ногу никто не запрещает:
> /etc/init.d/nginx stop
> rm /var/log/access.log
> mkfifo /var/log/nginx/access.log
> (tail -f /var/log/nginx/access.log | /usr/local/bin/logtomysql ) &
> /etc/init.d/nginx start
Если tail тут тормознётся записью в свой pipe или упадёт, то nginx замрёт на записи в
fifo. Даже ддоса не надо.
>
> опять же, что если хочется ловить типовые запросы или медленные? тогда
> 5% от всех записей вполне можно добавлять в базу используя кольцевой
> буфер и polling без задержек в nginx.
> или пайпы работают медленней чем файлы?
пайпы блокируют запись если не читать из пайпа. А файлы спокойно растут себе на диске.
_______________________________________________
nginx-ru mailing list
nginx-ru@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru