Есть в 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.

Метки: , ,