The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"tc + IMQ + auto bandwidth "
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на сервере (Квоты, ограничения, QoS / Linux)
Изначальное сообщение [ Отслеживать ]

"tc + IMQ + auto bandwidth "  +/
Сообщение от firstcalled (ok) on 23-Май-15, 08:23 
Всем привет. Задался такой целью: ограничить скорость входящего трафика для каждого отдельного пользователя, но при этом чтобы эти ограничения срабатывали лишь тогда, когда канал нагружают по максимуму. Например у меня есть 10мб на вход, есть 2 пользователя, один смотрит видео, второй лишь работает с почтой, в итоге первый получает почти всю ширину канала, второй лишь то, что необходимо для комфортной работы. Тот же пример, но уже 10 пользователей, каждый нагружает канал как может, в итоге все получают по 1мб, но потом 5ро ушли и в итоге каждый получает по 2мб. Прочитав LARTC, мануал по IMQ и прочие статьи, я пока пришел к такому варианту: использовать IMQ для шейпинга входящего трафика трафика, использовать класс HTB и в нем, зная сколько у меня может быть пользователей и ширину канала, настроить так, чтобы каждый получал минимум, но при этом мог использовать свободную ширину канала. Вопрос в том, правильно ли я вообще рассуждаю? Или для шейпинга входящего трафика используют что-то другое? Новичок в Linux вообще и tc частности, буду рад любому совету, любому пинку в нужном направлении.
Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "tc + IMQ + auto bandwidth "  +/
Сообщение от fail on 23-Май-15, 10:26 
> Всем привет. Задался такой целью: ограничить скорость входящего трафика для каждого отдельного
> пользователя...
> Новичок в Linux вообще и tc частности, буду рад
> любому совету, любому пинку в нужном направлении.

LARTC - этт правильно, но возможно несколько устаревшее, еще на ядре 2.4 использовал.
IMQ, HTB - надо еще добавить SFQ или лучше ESFQ.


Вданном случае - пляшут от ядра не знаю как в 3.x (2.6.32 точно есть),
надо смотреть поддержку(патчи) в ядре:
- IMQ
- HTB
- SFQ и ESFQ
...
etc.

P.S.:
если память не подводит, в HTB прийдется c r2q/q2r повозиться

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "tc + IMQ + auto bandwidth "  +/
Сообщение от asavah (ok) on 23-Май-15, 14:23 
можно

см rate и ceil

rate - "гарантированная" полоса
ceil - потолок если есть свободная

пример из живого шэйпера (3.16, IMQ/HTB/SFQ)
/sbin/tc class add dev imq1 parent 1:22 classid 1:0067 htb rate 5mibit ceil 50mibit prio 1


Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

3. "tc + IMQ + auto bandwidth "  +/
Сообщение от John (??) on 04-Июн-15, 09:54 
Deficit Round Robin (DRR), классовая дисциплина - более гибкая замена SFQ.

# Пример равномерного распределения
tc qdisc add dev $IFACE root handle 1: drr
for i in {1..1024}
do
    tc class add dev $IFACE parent 1: classid 1:$(printf %x $i) drr quantum 1500
done

# Пример использования в качестве аналога SFQ
tc filter add dev $IFACE parent 1: prio 1 protocol all handle 1 flow hash keys src,dst,proto,proto-src,proto-dst divisor 1024 perturb 10
# распределение пропускной способности между получателями
tc filter add dev $IFACE parent 1: prio 1 protocol all handle 1 flow hash keys dst divisor 1024 perturb 10

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру