ПРОЕКТЫ 


  АРХИВ 


Apache-Talk @lexa.ru 

Inet-Admins @info.east.ru 

Filmscanners @halftone.co.uk 

Security-alerts @yandex-team.ru 

nginx-ru @sysoev.ru 


  СТАТЬИ 


  ПЕРСОНАЛЬНОЕ 


  ПРОГРАММЫ 



ПИШИТЕ
ПИСЬМА












     АРХИВ :: nginx-ru
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



On Wed, Dec 16, 2009 at 12:38:49PM +0300, Ihalainen Nickolay wrote:

> или пайпы работают медленней чем файлы?

Разумеется. При записи в пайп первая программа копирует данные в ядро.
После этого просыпается вторая программа, которая копирует эти данные
из ядра к себе и что-то с ними делает (пишет на диск, анализирует или
вставляет в базу, что вообще нетривиальная операция). Потом это программа
опять пытается прочитать из пайпа и блокируется. Первая программа
продолжает работу. Во время всех этих операций ради 100-200 байт лога
происходит несколько переключений контекстов исполнения с вымыванием
кэшей (случай с базой я даже не рассматриваю). Поэтому-то в качестве
альтернативы предлагается вариант

    tail -F access.log | program

имеющий примерно столько же накладных расходов, как и обычная запись в пайп.
Он, на первый взгляд, выглядит сложнее, но по сути одно и то же.


-- 
Игорь Сысоев
http://sysoev.ru

_______________________________________________
nginx-ru mailing list
nginx-ru@xxxxxxxxx
http://nginx.org/mailman/listinfo/nginx-ru


 




Copyright © Lexa Software, 1996-2009.