首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >linux tc:使用tbf qdisc的不稳定速率

linux tc:使用tbf qdisc的不稳定速率
EN

Server Fault用户
提问于 2016-02-16 11:28:49
回答 1查看 2.2K关注 0票数 0

这是我第一次用tc做实验。我试图达到的目标是限制通过作为网关的虚拟机的下载速度。VM有两个以太网接口。来自用户的流量进入eth0,并通过eth1退出以到达因特网。这两个接口是桥接的。该设置工作良好,无需使用tc施加任何限制,我可以实现~10-11 10/S下载/上传。

为了限制下载流量,我在eth0上应用了tbf qdisc。例如,当我想限制下载速率时,我使用以下方法:

代码语言:javascript
复制
tc qdisc add dev eth0 handle 10: root tbf rate $R burst 15k latency 25ms

这是相当好的工作限制速率高达2MB/s,然而,当设置一个更高的速率限制,我开始看到波动。我试验了不同的延迟值和突发值,我注意到如果对于较大的速率,我会将突发增加到40K,在某些情况下增加到50ms,我得到的波动会更小,但情况并不总是这样。

总的来说,我注意到以下几点:

  • 在所有情况下,即使在波动情况下,我所能达到的最大速率也是我在tbf上设置的速率的90%左右。
  • 即使利率低于2MB/S,我也看到了一个小的波动。例如,设置1MB/s的速率限制,可以使速率稳定在920 1MB/S,但稍加瞬间下降到880 1MB/a,然后回落到920~921 1MB/手,经过调查,我注意到当这些波动发生时,使用watch tc -p -s -d qdisc show dev eth0我注意到积压增加,当下降发生时,积压就减少了。在1MB/s的情况下,待办事项增加到30-40便士,然后当它下降时,下载速率就会出现瞬间波动。
  • 在利率较大而波动较大的情况下,以6MB/s为例,税率可降至2MB/s,然后不断波动,在2MB/a和4MB/L之间波动,根本不稳定。在这种情况下,我看到待办事项可能高达120便士,当它下降到0时,丢弃的数据包会增加,这会造成很大的波动。

我测试设置是否工作的方式是使用流量遍历此网关VM的机器,并执行以下操作:

  • 我使用speedtest.com来测量速度,它给出了关于速率的正确值,即速率总是接近我设定的值。
  • 我使用wget从Internet下载大型文件(linux文件)并监视下载速度。在这些情况下,我看到的波动最多,限制越低,波动就越小。此外,从某些服务器下载比其他服务器的波动小。我可以理解,这与服务器有关,但当我从eth0中删除tbf qdisc时,下载速率相当稳定,为10.2-10.6MB/S,因此tbf及其配置必须与下载速率波动的原因有关。
  • 最后,为了排除互联网上的交通堵塞,我使用SCP从我办公室网络中的另一台PC下载ISO文件。使用SCP,利率似乎是稳定的。至少比使用wget的方法稳定得多。

我试着阅读了很多关于tc和tbf的资料,我也尝试使用htb和cbq,但在我的例子中,这些qdiscs提供了更多不稳定的下载速率。到目前为止,在我的测试中,只有tbf是最稳定的,但是问题开始以高速率出现。

因此,我想问:

  • 一般来说,我应该期望使用tc设定的速率有多稳定?
  • 使用tbf qdisc只达到我指定的速率的90%是正常的吗?
  • 积压的含义是什么?我试图找出它是什么,但我未能找到任何关于它所表达的文件。不过,我相信这可能是利率不稳定的原因,因为当利率较低时,它似乎稳定在指定比率的90%,只有当它变得太大,然后回到零/低值时,我才注意到汇率的波动。
  • 如何更好地优化tbf以使其更加稳定?
  • 我所采用的测试方法是否正确?如果没有,是否有更好和更准确的方法来测试和确保我的限速有效?

我知道这是很多信息,为了更好地解释我的情况,我已经尽力尽可能的详细了。对于如何使用tbf实现稳定的下载速率,我将不胜感激。提前谢谢你。

EN

回答 1

Server Fault用户

发布于 2016-02-16 13:19:31

tc没有“一般”期望,它取决于您使用的qdisc。关于TBF,您可以在“内核中心的旅程”中阅读tbf的一些限制(所有流量都通过一个队列)。

在lartc上,您可以看到您必须根据您的带宽增加tbf桶大小。

积压基本上是队列的长度,您可以读取更多的信息,例如这里

您的带宽下降时,待办事项正在清空(这是不应该发生的)记住故事,在那里垃圾收集在一个TCP队列中是消除延迟。你可以试着理解发生在你身上的事情。

90%的点数可能来自您指定的开销,以及您的协议比率:如果您在1MB/s的位置上创建上传文件,并且每发送一个数据包都要接收10个数据包,那么您的下载速度是10 1MB/S。

不过,我对tbf不太了解,我无法帮助您进行配置。祝你好运!

票数 0
EN
页面原文内容由Server Fault提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://serverfault.com/questions/757496

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档