Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Aleksey Barabanov                    2:5020/400     04 Feb 2002  01:08:06
 To : Balabhai Viktor Nikolaevich
 Subject : Re: redirector
 -------------------------------------------------------------------------------- 
 
 Balabhai Viktor Nikolaevich писал(а):
 
 > 
 > Hello Evgeny & All.
 > 
 > > Evgeny Annenkov wrote:
 > > > Человеки, помогите поставить редиректор - хочу рекламу красиво рубать, а
 > > > не как сейчас.
 > > > Пытаюсь прикрутить к сквиду редиректор, чтобы он баннеры на прозрачный
 > gif
 > > > подменял.
 > > > в squid.conf
 > > > redirect_program /usr/local/squid/bin/redirector
 > > >
 > > > Положил туда сам редиректор. Примерно такой:
 > > > http://linuxnews.ru/redirector
 > > > === Cut ===
 > > > #!/usr/bin/perl
 > > > $0 = 'redirect' ;
 > > > $| = 1 ; @banners    = ('reklama\.ru/cgi-bin/banner/',
 
 Так не надо. Правильнее хеш. Хотя хозяин - барин.
 
 > > >
 > > > skip
 > > >
 > > >  'yandex\.ru/cycounter'
 > > >  ); while (<>) {
 > > >     ($url, $who, $ident, $method) = /^(\S+) (\S+) (\S+) (\S+)$/ ;
 > > >     $url = 'http://linuxnews.ru/images/1x1.gif'
 > > > if grep ($url=~/$_/i, @banners) ;
 
 Perl.Библиотека программиста.
 Стр.135. Раздел "Комментарий" второй абзац:
 "Одна из распространненых ошибок - использование функции grep. Дело в
 том, что grep проверяет все элементы и находит все совпадения; если вас
 интересует только первое совпадение, этот вариант неэффективен."
 Мастер все сказал, я только процитировал ;)
 
 > > >     print "$url $who $ident $method\n" ;
 
 Здесь надо просто напечатать или тот url, который был или новый, на
 который вы редиректите. Все остальное не надо, кроме \n.
 
 > > > }
 > > > === Cut ===
 > > >
 > > > ./squid -k reconfigure
 > > >
 > > > И вижу:
 > > > === Cut ===
 > > > Jan 18 16:15:35 artem (squid): Too few redirector processes are running
 > > > Jan 18 16:15:39 artem (squid): Too many queued redirector requests
 > > > Jan 18 16:15:45 artem (squid): Too many queued redirector requests
 > > > Jan 18 16:15:53 artem (squid): Too few redirector processes are running
 > > > Jan 18 16:16:00 artem (squid): Too many queued redirector requests
 > > > Jan 18 16:16:07 artem (squid): Too many queued redirector requests
 > > > Jan 18 16:16:07 artem squid[8016]: Exiting due to repeated, frequent
 > > > failures === Cut ===
 > > > И отваливается.
 > 
 > А сколько у тебя процессов редиректорских запускается? Попробуй увеличить.
 > Параметр redirect_children в squid.conf. IMHO 5 (default) маловато. Особенно
 > для перлового редиректора. Hо ещё, конечно, зависит от количества клиентов.
 > Поставь побольше, а более точно сможешь определить потребности, запустив
 > `client cache_object://localhost/redirector`.
 
 Чешуя! Hадо программы писать не левой ногой. Выкинте все инициализации
 из цикла. Для сравнения используйте не массив, а хеш. Убедитесь, что
 цикл вообще завершается ;) А лучше взять готовое и под себя перепилить.
 
 У меня пускается не более 3 редиректоров. И если я еще и запускаю
 отладочный лог из редиректоров, то легко вижу, что если второй из
 редиректоров и работает иногда, то на третий не поступает сообщений
 вовсе. В сетке около 40 клиентов.
 
 Bye.
 -- 
 Aleksey Barabanov <alekseybb@mail.ru>
 --- ifmail v.2.15dev5
  * Origin: Office Intranet (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 редиректор   Evgeny Annenkov   30 Jan 2002 16:02:00 
 Re: редиректор   Michael de\'OZ   31 Jan 2002 23:02:31 
 Re: редиректор   Balabhai Viktor Nikolaevich   01 Feb 2002 13:14:30 
 Re: redirector   Aleksey Barabanov   04 Feb 2002 01:08:06 
Архивное /ru.linux/4413f25542f0.html, оценка 3 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional