Очередное улучшение в коде редиректора -
Поскольку в репозитории наконец-то выложили grep 2.5.3, то воспользуемся опцией
-m, --max-count=NUM stop after NUM matches
Т.е. redirector.sh выглядит так:
Логика работы стала более продуманной - после первого же совпадения правила, остальные правила пропускаются и начинает обрабатываться следующий URL.Code:#!/bin/sh
while :
do
read url user idt met
[ "`echo "$url" | /opt/bin/grep -m1 -Ff /opt/www/av/bannerfilter/exceptions`" = "" ] && [ "`echo "$url" | /opt/bin/grep -m1 -Ff /opt/www/av/bannerfilter/banners`" ] && url="http://192.168.1.1/null.gif";
echo "$url $user $idt $met"
done
Результат оптимизации виден и невооруженным глазом :) :
Здесь, banners список - 683 правила, exceptions - 21 правило.Code:export http_proxy=192.168.1.1:8080&& time wget -p --proxy=on -q http://wl500g.info
real 0m8.070s
user 0m0.008s
sys 0m0.048s
rm -r wl500g.info/
export http_proxy=192.168.1.1:8080&& time wget -p --proxy=on -q http://wl500g.info
real 0m6.736s
user 0m0.008s
sys 0m0.024s

