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@nginx.org
http://nginx.org/mailman/listinfo/nginx-ru