linux – 通过“高延迟网络”获得更好的TCP性能

前端之家收集整理的这篇文章主要介绍了linux – 通过“高延迟网络”获得更好的TCP性能前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我正在尝试通过 Linux机器之间的“高延迟网络”来提高我的TCP吞吐量.

我将tcp_mem,tcp_wmem和tcp_rmem设置为“8192 7061504 7061504”.
我将rmem_max,wmem_max,rmem_default和wmem_default设置为“7061504”.
我将netdev_max_backlog和txqueuelen设置为10000.
我将tcp_congestion_control设置为“可伸缩”.

我正在使用“nist”(cnistnet)来模拟100ms的延迟,而我达到的BW大约是200mbps(没有延迟我达到大约790mbps).

我正在使用iperf来执行测试,使用TCPTrace来分析结果,这就是我得到的:

在接收方:
max win adv:5294720字节
avg win adv:5273959字节
麻袋pkts发送:0

在发件人方面:
实际数据字节:3085179704
rexmt data bytes:9018144
max owin:5294577字节
avg owin:3317125字节
RTT min:19.2 ms
RTT max:218.2 ms
RTT平均值:98.0毫秒

为什么我只能达到200mbps?我怀疑“owin”与它有关,但我不确定(这些结果是2分钟的测试.1分钟测试有一个“avg owin”1552900)…

即使延迟为100毫秒,我还没想到吞吐量接近790mbps?

(我尝试在窗口配置中使用更大的数字,但似乎没有效果)

解决方法

这是一个常见的TCP问题,称为“长发管道”.如果你谷歌那个短语和TCP你会发现很多关于这个问题的信息和可能的解决方案.

This thread有一堆关于调整Linux TCP堆栈的计算和建议.

猜你在找的Linux相关文章