Привет всем! Помогите разобраться с delay_pool'ами в Сквиде. Использую OpenSuSE 12.2. Недавно обновил squid до версии squid3-3.1.20-2.1.3.i586 и началось... После многочисленных танцев с бубном опытным путём было точно установлено, что если в конфиге сквида использовать делэй-пулы, то наблюдается следующее:
1) после загрузки сервера, интернета на клиентах нет и не будет, пока не выполнить systemctl restart squid.servise. Тогда интернет сразу появляется
2) первый класс пула (то есть delay_class 1 1) вообще не работает, то есть на клиентах страницы не грузятся ни при каких обстоятельствах, приходится использовать 2-й класс
3) раньше для ограничения скорости для первого класса в 1 Мбит/сек я писал delay_parameters 1 128000/128000. Сейчас же строчка delay_parameters 1 -1/-1 128000/128000 (используется второй класс) даёт 542 Мбит/сек. Так и должно быть?Если из конфига убрать delay_pools и иже с ним, то интернет работает всегда, даже сразу после загрузки сервера. Ествественно, у всех максимальная скорость, ограниченная лишь шириной канала.
Конечно, можно прописать в автозагрузку скрипт для рестарта сквида. Но хотелось бы разобраться, если получится :) Часть конфига:
acl comp1 src 192.168.0.5/32
acl comp2 src 192.168.0.7/32http_access allow comp1
http_access allow comp2
http_access deny all
###### проблемный блок
delay_pools 1
delay_class 1 2
delay_access 1 allow comp1
delay_access 1 allow comp2
delay_access 1 deny all
delay_parameters 1 -1/-1 128000/128000
###### проблемный блок
> delay_parameters 1 -1/-1 128000/128000-1/-1 # всю ширину канала вы отдали сквиду, что не есть хорошо, ведь есть еще smtp трафик и другой трафик других протколов, лучше ограничить и отдать процентов 70-80 от ширины канала.
128000/128000 - фактически вы сказали юзерам качать на скорости 1 мегабит/сек.
Вы понимаете принцип такой записи? Для примера:
delay_parameters 2 -1/-1 2000/16000
-1/-1 – весь канал отдать сквиду - анлимитед, а индивдуально на каждого юзверя ведерки по 16кб, а струйка в него в 2кб ! (сначала быстро усосет 16кб, а потом будет лить со скоростью в 2кб/cек) точнее - быстро будет усасывать объекты размером до 16кб , объекты больше 16кб будет сосать на скорости 2кб.
Так что подумайте и подрихтуйте параметры под себя.
P.S.
Откуда у вас получилось 542 мегабита, мне не ведомо. По пункту 1 смотрите логи системы
< Если из конфига убрать delay_pools и иже с ним, то интернет работает всегда, даже сразу после загрузки сервера
При включеном delay_pool смотрите cache.log сквида. На крайняк в конфиге сквида
измените опцию debug_options ALL,1 на уровень повыше чем 1 и смотрите cache.log