我想在我的 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
如何使用或任何其他现成的工具创建低带宽、高延迟的连接?
答案1
啊哈!如果我们反转命令的顺序,它就会起作用。
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
答案2
虽然不是免费的,但 Charles Web 调试代理可以模拟低带宽高延迟连接
http://www.charlesproxy.com/documentation/proxying/throttling/