linux修改初始拥塞窗口和接收窗口优化网络

本文最后更新于 2022年8月8日 16:03 可能会因为没有更新而失效。如已失效或需要修正,请留言

主要就是Linux中 initcwnd 、initrwnd参数的调优。

尝试了很长时间,发现还是有点作用的。主要是通过调整这2个参数的大小,对初始网络窗口的一个优化。

目前这2个参数,基本上默认都是10。有点不符合目前网络的情况。可以适当调大。目前我用的是 20-30 之间的大小。感觉适用于大部分的服务器。

当然其实这2个参数的具体的设置,是有一个公式的,但那个我们就不探究了,比较复杂。而且需要看使用场景。

 

initcwnd 是发送窗口的参数。

initrwnd 是接收窗口的参数。

一般国外的VPS我只调整 initcwnd。就是提高他们的发送窗口大小。毕竟还是看回程。

 

调整方法

调整命令1:

ip route change default via 网关 dev 网口名 proto static initcwnd 数值

如:ip route change default via 1.1.1.1 dev eth0 proto static initcwnd 20

调整命令2:

ip route change default via 网关 dev 网口名 onlink initcwnd 数值

如:ip route change default via 1.1.1.1 dev eth0 onlink initcwnd 20

调整命令3:

直接增加路由的方式:

ip route add default via 网关 initcwnd 数值

删除路由:

ip route del default via 网关 initcwnd 数值

 

说明:

命令1和2其实是一样的。命令3在1和2无法使用的时候再用。等于强制加路由。都有效果。

initrwnd 的调整与 initcwnd一样。可以一起调整。如:

ip route change default via 网关 dev 网口名 onlink initcwnd 数值 initrwnd 数值

查看调整后的数值、网关:

ip route show

 

查不到网关?

如果你的服务器是内网IP转外网IP的网络(这个说法不知道对不对),且还是通过DHCP的方式,这样你可能就看不到网关了,路由是通过网络上的主路由决定的。

这样就先通过 ip route show 查看网络信息,然后直接在路由添加 initcwnd/initcwnd 数值就行。

如查看到的是这样的路由:

default via 100.100.0.0 dev enp3s0 proto dhcp src 200.200.0.200 metric 100

则直接在路由添加:

ip route change default via 100.100.0.0 dev enp3s0 proto dhcp src 200.200.0.200 metric 100 onlink initcwnd 20

再次 ip route show

default via 100.100.0.0 dev enp3s0 proto dhcp src 200.200.0.200 metric 100 onlink initcwnd 20

 

查看效果:

可通过 iperf3 工具来查看效果。经过多次的前后对比,可发现调整后的 iperf3 第一跳的传输带宽会更大。

使用 iperf3 测试端到端的连接速度

 

打赏
欢迎转载,请注明出处:轻时代 » linux修改初始拥塞窗口和接收窗口优化网络

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

打赏一下作者,鼓励他发表更多的精彩文章

支付宝扫一扫打赏

微信扫一扫打赏