我正在使用在互联网上各处(包括 ServerFault)找到的“标准”方式来尝试限制进程的带宽,使用 cgroups 和 tc。
我在实践中看到,我设定的限制tc
在实践中将会增加大约 10 倍,请看此屏幕截图:
我将 设置rate
为ceil
100kbit(不是 100kbps),因此我期望看到下面的 wget 显示大约 10 千字节每秒。但我看到的却是 500kBps。
如果我将 htp 速率更新为 100每秒(每秒 100 千字节)我看到我的速率飙升至 10兆字节/秒,是原来的 100 倍:
tc class change dev ens3 classid 1:1 htb rate 100kbps
# the curl in the other terminal now shoots up to 9.6MB/s
image.iso.1 53%[================> ] 346,72M **9,48MB/s** tps 49s
我不明白为什么这与我的 htb 配置不一致。你知道我做错了什么吗?
答案1
使用 tc,您可以调整上传速度。使用 wget,您可以测试下载速度。在您的测试中,您正在调整客户端发送的 TCP ACK,因此我们可以得出结论,在您的案例中,数据/确认比率为 1:100。
您可以使用 tc 将入口流重定向到 ifb 接口并对其进行整形,从而调整下载速度。这里你有一个关于如何做到这一点的例子。