Я ищу команды в Linux, чтобы ограничить скорость загрузки / выгрузки для всех пользователей фиксированной скоростью.
У меня есть три команды Linux, которые ограничивают скорость сети в ОС.
tc qdisc add dev eth0 root handle 1: htb default 10
tc class add dev eth0 parent 1: classid 1:1 htb rate 1000kbps ceil 1500kbps
tc class add dev eth0 parent 1:1 classid 1:10 htb rate 10kbps ceil 20kbps
Когда я пытаюсь загрузить с этого сервера с одним клиентом, скорость загрузки составляет 20 Кбит / с, но при попытке загрузки с двумя клиентами скорость уменьшается до 9-10 Кбит / с для каждого клиента.
Есть ли способ сохранить скорость 20 Кбит / с или любое фиксированное значение для более чем одного подключения / пользователя?
Я пока не могу спросить Антона Данилова с комментарием: «Если я хочу выделить 50% полосы пропускания, чтобы быть доступным для конкуренции, но я хочу разделить оставшиеся 50% между пользователями поровну, обеспечивая гарантированный минимум, как бы я пошел? об этом? "
Когда вы используете HTB qdisc, вы должны создать отдельный класс для каждого пользователя / соединения, для тех, кому вы хотите ограничить полосу пропускания.
Типичная конфигурация дерева классов:
host1
класс (HTB, classid 1:11, родительский 1: 3, скорость 20 Кбит)host2
класс (HTB, classid 1:12, родительский 1: 3, скорость 20 Кбит)hostN
класс (HTB, classid 1:13, родительский 1: 3, скорость 20 Кбит)Команды tc должны выглядеть так:
# remove current configuration if exists
tc q del dev <iface> root || true
tc q del dev <iface> ingress || true
# create the root queue discipline
tc q add dev <iface> root handle 1:0 htb default 3
# attach the root class to the root qdisc
tc c add dev <iface> parent 1:0 classid 1:1 htb rate 100Mbit
# default class
tc c add dev <iface> parent 1:1 classid 1:2 htb rate 50Mbit ceil 100Mbit
# class to limit the hosts
tc c add dev <iface> parent 1:1 classid 1:3 htb rate 50Mbit ceil 100Mbit
# attach classes to limit every host (one class = one host)
tc c add dev <iface> parent 1:3 classid 1:11 htb rate 20Kbit
tc c add dev <iface> parent 1:3 classid 1:12 htb rate 20Kbit
tc c add dev <iface> parent 1:3 classid 1:13 htb rate 20Kbit
# classification of the downstream traffic to hosts
tc f add dev <iface> parent 1:0 protocol ip prio 10 handle 800::1 u32 match ip dst 192.0.2.2 flowid 1:11
tc f add dev <iface> parent 1:0 protocol ip prio 10 handle 800::2 u32 match ip dst 192.0.2.3 flowid 1:12
tc f add dev <iface> parent 1:0 protocol ip prio 10 handle 800::3 u32 match ip dst 192.0.2.4 flowid 1:13