Як обмежити пропускну здатність мережі?


74

Ми розміщуємо додаток на віддаленому сервері. Нам потрібно перевірити його з обмеженою пропускною здатністю мережі (для користувачів з поганим доступом до Інтернету).

Чи можу я обмежити пропускну здатність Інтернету? Наприклад: 128 Кб в секунду.

Відповіді:


67

Ви можете придушити пропускну здатність мережі в інтерфейсі, використовуючи команду під назвою tcСторінка Man, доступну за посиланням http://linux.die.net/man/8/tc

Для простого сценарію спробуйте чудеса .

Приклад використання tc: tc qdisc add dev eth0 root tbf rate 1024kbit latency 50ms burst 1540


6
Посилання на atmail.com запросить для авторизації ім'я користувача / пароль для мене ... :(
Ash

1
До контенту atmail ви можете ознайомитися тут: web.archive.org/web/20130719031908/http://atmail.com/kb/2009/…
Том Салееба

краще пізніше, ніж ніколи, якщо ви збираєтесь використовувати маршрутизатор зайнятих. Кращим методом є tcкоманда, ви можете ознайомитись з повідомленням тут. mark.koli.ch/… у вікі openvz
nwgat

схоже, що також можна обмежити пропускну здатність за допомогою iptables (ви можете відредагувати відповідь за потреби): serverfault.com/questions/52027/…
baptx

62

Як зазначалося в попередній відповіді, чудеса робить цю роботу легко. Я включаю інформацію зверху посилання Jwalanta Shrestha

apt-get install wondershaper

wondershaper - простий інструмент для обмеження пропускної здатності певного інтерфейсу.

$ sudo wondershaper {interface} {down} {up}

{down} і {up} - пропускна здатність у кбіт / с

Так, наприклад, якщо ви хочете обмежити пропускну здатність інтерфейсу eth1 до 256kbps низхідній лінії зв'язку та 128kbps uplink,

$ sudo wondershaper eth1 256 128

Щоб очистити межу,

$ sudo wondershaper clear eth1 

2
В ідеалі ви мали б просто відредагувати оригінальну відповідь, а не додати нову. Це стандартна політика. У будь-якому випадку +1 для вашої відповіді, оскільки вона додає інформацію до відповідей.
шивам

2
Це дуже корисно, якщо ви пов’язуєте мобільні дані та обмежуєте добросовісне використання (і вам доведеться купувати нові пакети після, справа для Lycamobile). На веб-сайтах потокового відео, як YouTube, все відео завантажується безпосередньо, якщо у вас достатня пропускна здатність. Якщо ви обмежите пропускну здатність, відео автоматично переключиться на низьку роздільну здатність і завантажить лише те, що ви переглядаєте, що зберігає дані, якщо ви не хочете переглядати все.
baptx

2
Корисна також і для завантаження великих файлів, оскільки це не тільки обмежує пропускну здатність, але й надає пріоритет трафіку. Так що при завантаженні 10gb-файлу ви все ще можете використовувати SSH.
PeterM

5
Wondershaper дуже застарів: Wondershaper Must Die (Bufferbloat.net)
Ніклас Холм

10

Обмеження мережевих ресурсів на основі деяких критеріїв є предметом QoS . Існує кілька різних способів управління трафіком користувачів в системах Linux.

Існує хороша інструкція щодо передових методів маршрутизації та контролю трафіку на Linux Берта Юберта.


2
Ви зверталися до певного розділу в ньому?
rogerdpack

1
Якщо ви не хочете змінювати налаштування системи, просто встановіть проксі-сервер squid3, а потім встановіть "обмежену" заявку через проксі. Для додатків cli можна встановити торсаки або проксі-ланцюги, а для важких додатків GUI ви також можете встановити Fiddler mono, так що так ... є кілька способів контролювати все :)
erm3nda

(це лише відповідь за посиланням)
Конрад Гаєвський

7

Якщо у вас вже є де-небудь налаштування Apache, ви можете використовувати mod_bw, що також працює на проксі-з'єднаннях (тобто Apache просто пересилає все на належний сервер, але уповільнює відповіді.)


6

Dummynet робить те, що ви хочете, і більше, ви навіть можете контролювати затримку, випадкові втрати пакету та багато іншого.


6

Ви також можете використовувати модуль хешліту iptables. Ось простий приклад:

iptables -A FORWARD -m hashlimit --hashlimit-вище 512kb / sec --hashlimit-burst 1mb --hashlimit-mode srcip, dstip --hashlimit-name bwlimit -j DROP

Це правило обмежує трафік, який проходить через ланцюг FORWARD, як 512 кбіт / сек з розривом 1 Мб для кожної пари джерела та місця призначення.

Щоб отримати докладнішу інформацію, перегляньте розділ хешліту керівництва iptables.

http://ipset.netfilter.org/iptables-extensions.man.html

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.