LINUX.ORG.RU
ФорумAdmin

Помогите разобраться с squid delay pools.


0

1

Есть PC роутер (шлюз):
Linux debian 5, 2.6.32-5-686
Squid 3.0
Локалка eth0 (192.168.0.1) – 5 пользователей
Интернет eth1 (xx.xx.xx.xx) – 5мбит

Squid настроен в прозрачном режиме, с помощью IPTABLES все транзитные www (80port) пакеты идущие через роутер в Интернет заворачиваются в squid.

Теперь хочу сделать так чтобы при закачке файлов по http пользователь не занимал весь канал, чтобы канал делился поровну между всеми, но только в момент использования.
Допустим «Витя» качает большой файл на полной скорости канала, в этот момент «Маша» тоже начинает качать и канал разделяется между ними поравну, если в этот момент «Коля» начнет закачку то канал уже будет делится на троих, и т.д.

Мыслю так (поправьте если ошибаюсь):

1. Создаем списки доступа
acl vasya src 192.168.0.10/32
acl kolya src 192.168.0.11/32
acl vitiay src 192.168.0.12/32
acl masha src 192.168.0.13/32
acl natasha src 192.168.0.14/32

2. Объявляем пул
delay_class 1 2 # пул второго класса

3. Определяем принадлежность юзеров к пулу
delay_access 1 allow vasya
delay_access 1 allow kolya
delay_access 1 allow vitiay
delay_access 1 allow masha
delay_access 1 allow natasha
delay_access 1 deny all

4. Задаем ограничения по скорости
delay_parameters 1 625000/625000 625000/625000 #5мбит на всех

> Допустим «Витя» качает большой файл на полной скорости канала, в этот момент «Маша» тоже начинает качать и канал разделяется между ними поравну, если в этот момент «Коля» начнет закачку то канал уже будет делится на троих, и т.д.

Вот это вот у тебя будет происходить всегда и в любом случае и без сквида и через сквид тоже, но есть нюансик. Это все будет так, если они все качают в один поток. То есть, в твоем случае канал поровну делится на количество потоков закачки, а не на количество пользователей. Если один из пользователей поставит на закачку сразу 10 файлов, то он один будет использовать канал на 80-90%. Я даже про торренты молчу.

Посмотри на HTB.

ansky ★★★★★
()
Ответ на: комментарий от ansky

> Вот это вот у тебя будет происходить всегда и в любом случае и без сквида и через сквид тоже.
Я так понимаю что когда «Витя» установил соединение с сервером narod.ru по TCP 80, получил первые допустим 100 пакетов, отправил подтверждение о получении, получил следующие... размер TCP window начал расти подстраиваясь под скорость канала, и через определенный промежуток времени весь download канал оказался забитым «Витиными» пакетами. В этот момент «Маша» лезет на mail.ru за файлом из почты, а narod.ru при этом стреляет в «Витю» пакетами в том же темпе. Соответственно те 100 пакетов которые предназначались для «Маши» еще какоето время повисят в очереди у проваедера, прежде чем дойдут до нее, а значит и отчет о их доставки будет позже и TCP окно будет скорее уменьшатся чем расти. И «Маша» не получит половину канала. У меня сегодня такая ситуация возникла, «Маша» льет по http а в это время страницы по минуте открываются.


На HTB смотрю уже давно, время на него нужно много потратить чтобы вкурить хорошенько.

Пока что торрентов нету, по фтп тоже вроде ничего не льют, думаю что delay pools пока хватит.

commeta
() автор топика

оставляй сквиду 0.9 всего канала.

spunky ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.