Работает с Ubuntu.
У меня есть клиенты, у которых ограниченная скорость передачи. Мне нужно протестировать свой сервер, чтобы узнать, сколько клиентов с ограниченной скоростью передачи данных он поддерживает?
Есть ли какая-нибудь утилита, позволяющая загружать файл с сервера и ограничивать скорость загрузки?
Трафик - tcp.
Спасибо
Обе wget, cURL и ария2 поддерживать ограничение скорости загрузки:
$ wget --limit-rate=10k http://www.far-away-site.com/file.dat
$ curl --limit-rate 10K http://www.far-away-site.com/file.dat
$ aria2c --max-download-limit=10K http://www.far-away-site.com/file.dat
Вы также можете ограничить скорость на клиенте Linux для тестирования с другими инструментами загрузки, которые не поддерживают ограничение скорости, используя tc
, кондиционер трафика. Из руководства lartc:
# clean existing down- and uplink qdiscs, hide errors
tc qdisc del dev eth0 root 2> /dev/null > /dev/null
tc qdisc del dev eth0 ingress 2> /dev/null > /dev/null
# install root CBQ
tc qdisc add dev $DEV root handle 1: cbq avpkt 1000 bandwidth 100mbit
# shape everything at 10kbps
tc class add dev $DEV parent 1: classid 1:1 cbq rate 10kbit allot 1500 prio 5 bounded isolated
для проверки пропускной способности рекомендую iperf
- для TCP он устанавливает соответствующее количество передач - однако UDP требует, чтобы вы указали ему целевую полосу пропускания канала из-за его природы без сохранения состояния.