Wondershaper — утилита для настройки ограничений скорости сетевого интерфейса на сервере.
Подготовка и установка.
Тестировать будем, как обычно, в CentOS, так что для начала поставим всё неободимое — EPEL репозиторий, Git, pip, speedtest-cli.
# yum install epel-release # yum install git python-pip # pip install speedtest-cli
И забираем wondershaper из репозитория на Github:
# git clone https://github.com/magnific0/wondershaper.git
Работа с ограничениями.
Для начала, протестируем текущую скорость:
# speedtest-cli Retrieving speedtest.net configuration... Testing from Hetzner Online GmbH (159.69.42.70)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Marco Bungalski GmbH (Verden) [48.94 km]: 11.454 ms Testing download speed.......... Download: 897.19 Mbit/s Testing upload speed............ Upload: 314.73 Mbit/s
Для того кто бы ограничить и входящую, и исходящую скорость на интерфейсе до 512 Kbps выполняем команду:
# ./wondershaper -a eth0 -u 512 -d 512
И протестируем скорость ещё раз:
# speedtest-cli Retrieving speedtest.net configuration... Testing from Hetzner Online GmbH (159.69.42.70)... Retrieving speedtest.net server list... Selecting best server based on ping... Hosted by Marco Bungalski GmbH (Verden) [48.94 km]: 11.746 ms Testing download speed........... Download: 0.27 Mbit/s Testing upload speed............. Upload: 0.35 Mbit/s
Как видим, скорость загрузки и выгрузки была ограничена. Проверить текущий статус адаптера можно командой:
# ./wondershaper -s -a eth0
Сбросить ограничения, когда они будут не нужны можно с помощью команды:
# ./wondershaper -c -a eth0
Такое вот простое управление ограничением, которое иногда может понадобиться на сервере.