收起左侧

提升飞牛上传速度的一种办法

7
回复
771
查看
[ 复制链接 ]

3

主题

19

回帖

0

牛值

江湖小虾

2025-3-16 21:49:28 显示全部楼层 阅读模式

<br /> <br />

1.设备环境

  • 物理机,系统版本:0.8.41
  • 网络环境:公网 + 端口转发
  • 测试工具:iperf3,homebox
2.问题现象

远端设备 有线连接:

  • 飞牛上传速度 = N1 上传速度 = 60Mbps(与宽带标称基本一致)。

远端设备 无线连接:

  • 飞牛上传速度 ≤30Mbps(显著低于 N1 的 60Mbps)。
连接方式 设备 速率(Mbps) Retr 次数
有线 飞牛 60
有线 N1 60
无线 飞牛 30
无线 N1 60
3.排查过程

基础检查:

  • 确认路由器、网线、无线信号强度均正常。
  • 更换设备测试,问题复现(必现)。

Iperf3分析:

  • 发现无线连接时,飞牛与 N1 的 TCP 重传策略差异明显。
  • 推测问题可能与TCP 拥塞控制算法有关。

查询设备算法:

  • 发现N1采用的是bbr算法,飞牛采用cubic算法。
4.解决方法
  • 通过调整 TCP 拥塞控制算法,优化链路传输效率。

1.加载目标算法模块

# 加载BBR算法
sudo modprobe tcp_bbr

2.验证模块加载

lsmod | grep tcp_  # 确认输出包含tcp_bbr

3.检查可用算法

sysctl net.ipv4.tcp_available_congestion_control
# 预期输出:reno cubic bbr

4.修改默认算法

  • 临时生效:
sudo sysctl -w net.ipv4.tcp_congestion_control=bbr
  • 永久生效:
sudo nano /etc/sysctl.conf
# 添加以下行
net.ipv4.tcp_congestion_control = bbr
sudo sysctl -p  # 生效配置
5.验证结果
  • 修改算法后,远端设备无线连接时,飞牛上传速度提升至 60Mbps,与有线一致。
6.总结

问题根源

  • 无线链路因误码率较高,默认 TCP Cubic 算法过度保守,导致带宽利用率低。

优化关键

  • BBR 算法通过探测带宽和最小 RTT,动态调整速率,在高丢包场景下表现更优。

附:iperf 测试对比表

连接方式 设备 算法 速率(Mbps) Retr 次数
有线 飞牛 Cubic 60
有线 N1 BBR 60
无线 飞牛 Cubic 30
无线 N1 BBR 60
无线 飞牛 BBR 60
收藏
送赞 3
分享

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x

3

主题

19

回帖

0

牛值

江湖小虾

2025-3-17 13:32:37 楼主 显示全部楼层
经常在在外访问的可以尝试开启,现在我在浏览器下载飞牛的文件也比之前快了

2

主题

5

回帖

0

牛值

江湖小虾

2025-3-18 17:32:35 显示全部楼层
mark晚点试试

0

主题

14

回帖

0

牛值

江湖小虾

2025-3-18 21:37:05 显示全部楼层
通过博主的方法也成功解决问题感谢博主!
还有就是目前用的临时bbr,(重启失效)
如果需要长期修改为bbr拥塞控制算法的话,是只输入最后一个指令还是从头再输入一遍?
感谢回复。
可以重输一遍 然后最后把配置写入文件最后边 sudo nano /etc/sysctl.conf # 添加以下行 net.ipv4.tcp_congestion_control = bbr sudo sysctl -p # 生效配置  详情 回复
6 天前

0

主题

14

回帖

0

牛值

江湖小虾

2025-3-19 23:03:27 显示全部楼层
最后一个添加以下行在哪里添加呢?求回复
sudo nano /etc/sysctl.conf  详情 回复
6 天前

2

主题

9

回帖

0

牛值

江湖小虾

公网是ipv6 也这么配置吗

3

主题

19

回帖

0

牛值

江湖小虾

6 天前 楼主 显示全部楼层
8号纸包鱼? 发表于 2025-3-18 21:37
通过博主的方法也成功解决问题感谢博主!
还有就是目前用的临时bbr,(重启失效)
如果需要长期修改为bbr拥 ...

可以重输一遍 然后最后把配置写入文件最后边
sudo nano /etc/sysctl.conf
# 添加以下行
net.ipv4.tcp_congestion_control = bbr

sudo sysctl -p  # 生效配置

3

主题

19

回帖

0

牛值

江湖小虾

6 天前 楼主 显示全部楼层
8号纸包鱼? 发表于 2025-3-19 23:03
最后一个添加以下行在哪里添加呢?求回复

sudo nano /etc/sysctl.conf
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则