我正在寻找一种方法来设置应用程序的上传速率限制,而不限制整个机器。
用例如下:
用户(我自己)创建了一个大文件,打算将其上传到视频托管网站。但是,文件很大,而且互联网连接速度很慢。因此,上传这些文件可能需要几个小时(通常是几十个小时)。
在文件上传过程中,使用互联网非常困难。因为文件上传完全接管了上游。
目标是将浏览器限制为互联网连接速度的 80%。
完美的解决方案是能够在上传过程中更改限制,而无需重新启动任何程序或中断上传本身。(假设用户想小睡、洗澡、吃点东西等,并且可以暂时允许上传占用 ISP 限制的 100%)。
答案1
尝试安装涓涓细流
sudo apt-get install trickle
Trickle 是一个自愿的、合作的带宽整形器。它完全在用户空间工作并且非常易于使用。
最简单的应用就是限制程序的带宽使用。
以下是一个参考:http://www.tuxradar.com/content/control-your-bandwidth-trickle
答案2
是的,因此可以使用 iptables 根据进程(--pid-owner)标记一个包,然后使用 tc 来限制带宽。
尝试阅读此链接例如,查看 HTTP 出站流量整形:想象一下做同样的事情,但让 iptables 标记规则应用于 PID 而不是端口 80!