使用tc添加延迟而不限制带宽

时间:2015-06-25 17:08:30

标签: networking latency

我正在尝试使用tc为来自网络服务器的响应添加延迟,以便模拟WAN。 我找到了一些相关的帖子并尝试了命令:

tc qdisc add dev eth0 root netem delay 100ms

我正在使用10G网卡来发出大约相当于3Gbps的大量请求。使用tc增加延迟后,我发现吞吐量大幅下降,响应延迟时间接近3秒。

我是否在上述命令中遗漏了某些内容,它除了增加延迟外还限制了速率/吞吐量?

N.B tc qdisc返回以下内容:

qdisc netem 8005: dev eth0 root refcnt 72 limit 1000 delay 100.0ms  10.0ms rate 10000Mbit

1 个答案:

答案 0 :(得分:1)

首先,我认为tc无法以如此高的数据速率处理数据包。几年前,当我玩它时,我的吞吐量也有所下降。我使用了10GbE和40GbE。

不幸的是,我现在无法访问此类硬件。

我建议您在模拟延迟100毫秒时检查缓冲区大小。数据包在某处丢失并影响您的吞吐量。增加的延迟可能是因为数据包在被丢弃多次(小缓冲区大小)或排队很长时间(非常大的缓冲区大小)后进入目的地