Задать вопрос
@tranvi

Почему Squid 2.7 вешается, если ему задать большой файл внешних правил для url_regex?

Есть squid 2.7, работаюший на убунте. Оперативной памяти у комптьютера - 2гига. В среднем за 5 лет работы черный список сайтов наполнился на около 1500 сайтов. Развлечения, соц.сети, порно... Разбит по категориям, в максимальном списке - 700 сайтов.

Из вышестоящей организации пришел файл с категорическим приказом: обеспечить фильтрацию приложенного списка, и файл со списком на 10 мегабайт, длиной в 552тысячи сайтов.

Первая попытка сделать решение в лоб через:

acl url_blnav url_regex "/home/....../domains.txt"
http_access deny url_blnav

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

Я сократил список до 380тыч сайтов, путем убирания сайтов с общими словами, типа sex porno erotic и пр. Потом пробовал разбивку файла на части - это уменьшает потребление памяти (до 2.5гиг), но все равно не укладывается в оперативку. В итоге сквид все равно уходит в своп и затыкается. на моих обычных правилах сквид занимал ~650-700 мегабайт памяти.

Как можно засунуть в сквид блоклист на 380 тысяч сайтов?

Добавить память - не могу. Обсуждать вопрос о снижении кол-ва сайтов (там столько ереси, куда 100% не пойдут люди) - тоже не могу.

отдельный вопрос - поможет ли апгрейд на сквид 3.3 или 3.2 ?

  • Вопрос задан
  • 2828 просмотров
Подписаться 2 Оценить Комментировать
Ответ пользователя AlexRay К ответам на вопрос (3)
@AlexRay

Возможно при таком раскладе есть смысл сделать whitelist вместо blacklist? Либо вообще сделать фильтрацию не средствами squid, а, например, при помощи dns, к которому squid обращается.

Ответ написан