CentOS 流量控制队列中丢弃的数据包

CentOS 流量控制队列中丢弃的数据包

我记得我与我们公司的一个特定合作伙伴存在上传带宽问题,我仍在调查原因......

我注意到主网络接口上的流量控制存在一些奇怪的行为,并问自己这是否是我的问题的根源。

以下是“/sbin/tc -s -d class show dev eth0”命令的返回结果,该结果显示只有第 9 个队列丢弃了大量数据包(其他队列没有丢弃数据包):

类 mq:9 root 已发送 740545290948 字节 870754148 pkt(丢弃 35373,超出限制 0 重新排队 30919)积压 0b 0p 重新排队 30919

有人能向我准确解释一下这是什么意思吗?如果这是一个问题,我该如何纠正它?

非常感谢 !

答案1

数据包丢失可能导致明显延迟或速度缓慢等问题。这取决于应用程序和丢包率。

流量控制通常是通过在超出允许速率时延迟数据包来实现的。延迟数据包意味着将它们排队。队列对可以容纳的数据包数量有限制。当长时间超出速率时,数据包队列可能会被填满并开始丢弃数据包。

要解决此问题,您可以尝试以下几种选项:

  • 增加受影响用户的允许速率。
  • 增加队列/缓冲区大小。
  • 如果适用,请降低应用程序/用户流量率。

为了确认这是否会给您带来麻烦,您可以暂时禁用流量整形(如果可能)并检查结果。

相关内容