Как я могу ограничить загрузку / загрузку?

73

Как я могу ограничить загрузку / загрузку полосы пропускания для:

  • Вся ОС.
  • Один сетевой интерфейс.
  • Одиночное приложение.
задан yevhene 04.08.2010 в 10:41
источник

3 ответа

40

Ограничительный единый интерфейс прост, но ограничения по глобальной скорости требуют более сложных правил, а также правил, основанных на приложениях. Я не говорю, что это невозможно, но для этого требуется довольно много усилий для внутренних сетей.

Ниже приведен быстрый способ настройка предела интерфейса

Если вы действительно хотите настроить правила, основанные на приложениях, вы должны посмотреть на некоторые рамки брандмауэра, например shorewall , которые имеют вспомогательные функции для настройки форматирования. Даже с помощью этих инструментов для этого требуется довольно много предусмотрительности и тестирования. Делать что-то вроде этого ad-hoc еще не так просто.

    
ответ дан Ressu 04.08.2010 в 10:57
источник
59

Хотя это старый вопрос, я столкнулся с этим, когда искал ответ на тот же вопрос. Лимиты ОС и интерфейсов уже рассмотрены в более раннем ответе, поэтому здесь можно установить ограничения для конкретных приложений. Используйте приложение под названием trickle. Так же sudo apt-get install trickle . Вы можете ограничить загрузку / загрузку для определенного приложения, запустив

trickle -u (upload limit in KB/s) -d (download limit in KB/s) application

Это запустит приложение с указанными пределами. Вы также можете указать «сглаживание» времени, чтобы образцы просачивались в течение требуемого периода времени, если ваше приложение имеет импульсы потребления полосы пропускания, и вы хотите, чтобы всплески разрешались до тех пор, пока среднее значение не соответствует вашим требованиям.     

ответ дан SMeznaric 28.08.2012 в 17:24
5

Если вы хотите ограничить пропускную способность для определенного IP-адреса, вы можете использовать это:

tc qdisc add dev eth1 root handle 1: htb default 12
tc class add dev eth1 parent 1: classid 1:10 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:11 htb rate 2500kbps
tc class add dev eth1 parent 1: classid 1:12 htb rate 5000kbps

tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.105 flowid 1:10
tc filter add dev eth1 protocol ip parent 1:0 prio 1 u32 match ip dst 192.168.2.106 flowid 1:11
    
ответ дан billtian 22.10.2014 в 06:55