Nginx-ru mailing list archive (nginx-ru@sysoev.ru)
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: piped logging from Nginx to MySQL
2009/12/16 Anton Yuzhaninov <citrin@xxxxxxxxx>:
> 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
опять же, что если хочется ловить типовые запросы или медленные? тогда
5% от всех записей вполне можно добавлять в базу используя кольцевой
буфер и polling без задержек в nginx.
или пайпы работают медленней чем файлы?
_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru
|