Ограничение скорости в Ubuntu

Есть в Ubuntu одна особенность, которая мне не нравится – забивание канала скачивающим/закачивающим приложением. То есть, если Firefox’ом начать скачивание какого-нибудь файла, то сёрфить уже будет проблематично. Такая же проблема и с закачиванием файлов куда-нибудь.

Здесь буду собирать различные варианты решения данной проблемы. В итоге должны появиться правила для tc, но в данный момент я с ним не разобрался.

Под Windows для ограничения скорости Firefox есть расширение Firefox Throttle. Чего-либо подобного под Linux мне найти не удалось.

1. wget. Скачивание

Когда впервые мне понадобилось срочно скачать большой файл, а времени разбираться с ограничением скорости в ОС не было, я просто использовал wget с ограничением скорости скачивания. Например, если мы хотим, чтобы файл скачивался примерно на скорости в 1 мегабит/с, то нужна такая команда:

wget --limit-rate=122k http://example.com/file.ext

Следует учесть, что скорость задаётся в килобайтах/мегабайтах, а не в килобитах/мегабитах, а также то, что изменить скорость будет нельзя.

2. tc. Закачивание

Но варианта с wget’ом явно не хватало, иногда мне нужно ещё закачивать большие файлы, поэтому я начал потихоньку изучать Linux Advanced Routing & Traffic Control HOWTO. Именно там мне и встретилась команда, которая помогла мне ограничить мою исходящую скорость:

tc qdisc add dev ppp0 root tbf rate 220kbit latency 50ms burst 1540

В ней я лишь заменил ppp0 на eth0, да подобрал подходящие rate и latency.

3. wondershaper. Скачивание/закачивание

Вариант, который я использую в данный момент. Для начала установим wondershaper:

sudo apt-get install wondershaper

После этого легко можно ограничить входящую и исходящую скорость:

sudo wondershaper eth0 1024 512

Здесь мы для интерфейса eth0 задаём ограничение входящей скорости в 1024 килобита/с (1 мегабит) и исходящей – 512.

Оставьте комментарий