Имитация сетевого подключения с низкой пропускной способностью и высокой задержкой в Linux
Я хотел бы смоделировать сетевое соединение с высокой задержкой и низкой пропускной способностью на моем компьютере с Linux.
Ограничение пропускной способности было обсуждено ранее, например, здесь, но я не могу найти посты, в которых рассматриваются ограничения как пропускной способности, так и задержки.
Я могу получить либо высокую задержку или низкую пропускную способность, используя tc
, Но я не смог объединить их в одно соединение. В частности, пример скрипта управления скоростью здесь не работает для меня:
# tc qdisc add dev lo root handle 1:0 netem delay 100ms
# tc qdisc add dev lo parent 1:1 handle 10: tbf rate 256kbit buffer 1600 limit 3000
RTNETLINK answers: Operation not supported
Как создать соединение с низкой пропускной способностью и высокой задержкой, используя tc
или любой другой легкодоступный инструмент?
2 ответа
Ага! Это работает, если мы изменим порядок команд.
tc qdisc add dev lo root handle 1: htb default 12
tc class add dev lo parent 1:1 classid 1:12 htb rate 20kbps ceil 20kbps
tc qdisc add dev lo parent 1:12 netem delay 1000ms
https://lists.linux-foundation.org/pipermail/netem/2010-May/001388.html
Это не бесплатно, но прокси-сервер отладки Charles может моделировать соединения с низкой пропускной способностью и высокой задержкой
http://www.charlesproxy.com/documentation/proxying/throttling/