【发布时间】:2023-03-27 14:46:01
【问题描述】:
我们实际上有一个 10Gb/s 服务器和 1Gb/s 服务器共存(临时迁移解决方案)[UDP 流量]。我们希望调整来自 10Gb/s 服务器的流量,以避免 1G 服务器无法处理的大流量。
似乎“tc”不能用 tbf 完成这项工作(或者我们可能以错误的方式使用它)。例如,在我们的 10G 服务器上,我们尝试了以下方法:
sudo tc qdisc add dev eth5 root tbf rate 950mbit 延迟 1s burst 50mbit peakrate 1000mbit mtu 1500
这里我们通常将峰值速率设置为 1mb(通常无法产生 > 1mb/s 的突发)。 不幸的是,这不起作用,事实上在使用这个 tc 配置后,我们将主带宽降低到最大 2Mb/s..
我们对这种奇怪行为的唯一线索是 tc 手册中的那句话:
“为了做到完美,第二个bucket可能只包含一个数据包,这就导致了前面提到的1mbit/s的限制。
这个限制是由于内核只能限制至少 1 'jiffy',这取决于 HZ 作为 1/HZ。对于完美的整形,每个 jiffy 只能发送一个数据包 - 对于 HZ=100,这意味着 100 个数据包,每个平均 1000 字节,大致对应于 1mbit/s。 "
那么,我们确定峰值速率不能 > 1Mbit/s 吗?
也许,还有另一种完全不同的方式来实现我们的目标,如果有人有任何建议可以帮助我实现我们的目标.. =)?
亲切的问候
【问题讨论】:
标签: linux networking controls bandwidth traffic