Показаны сообщения с ярлыком squid. Показать все сообщения
Показаны сообщения с ярлыком squid. Показать все сообщения

четверг, 21 июля 2016 г.

squid smp поддержка многопроцессорности

Собрал по инструкции: http://wiki.squid-cache.org/ConfigExamples/SmpCarpCluster 
Не работает. выдаёт: kid1| ERROR: No forward-proxy ports configured.
добавил в frontend.conf порт для работы прокси не только в режиме прозрачном, но и в обычном.  имеем:  storeDirWriteCleanLogs: Starting...
2016/07/21 23:33:58 kid1|   Finished.  Wrote 0 entries.

самое главное он не может форвардить https т.к. падает. в общем smp squid из коробки не работает. собрал стартовые файлы для каждого отдельно. 250 пользователей. работает быстро. 
собственно smp squid (workers, fork поддержка многопроцессорности) нужена для реально загруженных каналов скорее всего от 500 или 1000 пользователей, а так это баловство. 

начну пилить netflow коллектор для 10 роутеров. 

вторник, 19 июля 2016 г.

Прозрачный Squid на Freebsd использует много оперативной памяти.

На самом деле много интересных текстов про прозрачный squid написано везде. Ошибки одни и те же. Раньше не возникало проблем с превышением squid доступной памяти в системе. работало. Рекомендации вида на 1GB кэша squid использует 14MB оперативной памяти ну и + cache_mem для горячего содержимого. формула проста. писатели squid пишут активно в рассылках: бро юзай так: 50000МБ - 50GB, значит 50*14MB + 512MB (cache_mem) = 1212MB (примерно) оперативки будет использовать.

Прикинул, это же вообще хорошо. сделал по инструкции. запустил 50 пользователей на squid 3.5.19, уехал по делам. прихожу freebsd лежит мертво. squid сожрал всю доступную память - около 25000Мб вместе со swap, конечно понимаю, что на нормальной машине стоит ну там от 48GB оперативной памяти и этот размер squid не особо и заметен на общем фоне.
 в логах есть: "squid cannot allocate memory" и в мессаджах  "Cannot allocate memory".

Отправил клиентов подождать. долго смотрел, сам кэш не исопользовался, cache_mem, cache_dir пустые, ну по 512МБ не более. виноват был торрент клиент, который сука генерировал тысячи соединенй с разными IP и прочим говном, через 80 порт.

почитал про memory_pool и прочее, но там стандартные параметры. ничего особенного.

Вспомнив, что squid должен очищать кэши подключений к серверам и клиентам ибо для скорости значения у него 3600

authenticate_cache_garbage_interval 3600 seconds
authenticate_ttl 3600 seconds

3600 - это получается час он держит не нужные данные. сам squid использует процессор ну на 2% максимум. основное - жрет оперативу, сохраняя в ней ненужные данные. 

сделал:
authenticate_cache_garbage_interval 600 seconds
authenticate_ttl 600 seconds

Сделал так, на целых десять минут. Собственно поедание оперативной памяти прекратилась нагрузка на процессор выросла до 3%. установил cache_mem 4 GB.

Увеличилась скорость отдачи самих сайтов и из картинок. Вот странно, не видел игры с этими значения на форумах.

понедельник, 18 июля 2016 г.

Freebsd и прозрачный https squid

Собственно squid не умеет работать с прозрачным проксированием, как таковым. Он методом коннект прокидывает через себя трафик и определяет доменное имя. Польза есть в виде определения домена  и запрет подключения к нему. Без выдачи в браузер сообщения о причине блокировки.

Причем, довольно интересно, при ошибки туннельного соединения он всеравно доставляет данные до клиента. Интересно кешировать данные которые идут внутри https соединения. Но тут уже надо работать как вирус перехватчик, что собственно противоречит морали писателей squid. На данном этапе эволюции сертей, кеширование squid не треьбуется,  но хотелось бы.

Тык Тык UpToLike