关于 N100 软路由 优化 油管 折腾的一点心得!分享,主要给自己留档。

gijia 2026-06-16 10:05 1

目的是提升油管的反应速度,比如拖动的时候,减少转圈,还有就是拉高一些 连接的数值


比如以前是5-6W 现在经常上10W 或者以前是10W 现在接近20W


此优化需要有几个前提


1.软路由的CPU 单核性能不能太差 至少J4125 以上

2.Openwrt的内核版本 新一些 不要太老

3.网卡最好是intel的 intel的驱动更完善一些


优化命令


ethtool -K eth0 gro off

ethtool -K eth0 gso off

ethtool -K eth0 rx-gro-list off


效果我自己测试,明确有效,但不代表各位一定行,有兴趣可以折腾下试试。


让AI写了一个启动脚本 直接放到启动项里


添加服务代码 SSH执行 会在启动项中新添加


cat >/etc/init.d/netopt <<'EOF'

#!/bin/sh /etc/rc.common


START=99


start() {

ethtool -K eth0 gro off

ethtool -K eth0 gso off

ethtool -K eth0 rx-gro-list off

}


stop() {

ethtool -K eth0 gro on

ethtool -K eth0 gso on

ethtool -K eth0 rx-gro-list on

}


status() {

ethtool -k eth0 | grep -E "generic-receive-offload|generic-segmentation-offload|rx-gro-list"

}

EOF


chmod +x /etc/init.d/netopt

/etc/init.d/netopt enable





以下是我让AI总结的原理


一、 命令原理拆解


这三条命令的核心作用,是关闭网卡的“硬件/软件卸载(Offloading)”功能。


在默认情况下,现代网卡为了追求超高的吞吐量(Throughput)并减轻 CPU 的负担,会开启各种 Offloading 功能。这意味着网卡或驱动会在底层悄悄地把多个小的数据包合并成一个巨大的数据包,然后再交给系统内核处理。


关闭它们,本质上是选择“牺牲一点点 CPU 性能,换取更高的数据包实时性”。




  1. ethtool -K eth0 gro off (Generic Receive Offload)


    原理:GRO 是一种在接收端(Receive)的软件优化技术。当网卡收到大量连续的 TCP 数据包时,GRO 会把这些小包合并成一个大包(最大可达 64KB),然后一次性提交给 Linux 网络协议栈。


    关闭后的变化:网卡收到什么,就原封不动地立刻传给内核协议栈,不再花时间去等待、合并。




  2. ethtool -K eth0 gso off (Generic Segmentation Offload)


    原理:GSO 是发送端(Transmit)的优化。当内核要发送一个大块数据时,它不会在协议栈里切片,而是直接把大包扔给驱动,让驱动或网卡硬件在最后关头去切成一个个符合 MTU(通常是 1500 字节)的小包发送出去。


    关闭后的变化:内核协议栈自己老老实实地切包,不再交给网卡延迟分片。




  3. ethtool -K eth0 rx-gro-list off


    原理:这是 GRO 的一种变体(基于列表的接收合并),它不合并数据包的内容,而是将数据包放入一个链表中一次性提交。


    关闭后的变化:彻底杜绝任何形式的接收端延迟打包行为。






我自己总结


原理就是把小包直接执行,而不是打包成一个大包来执行,增强了数据的实时性,但是增加了一些CPU负担,所以CPU不能太差,

不然就本末倒置了。

另外测速大包的速率是否有影响,目前我的N100 测速未发现有明显的变化。

最新回复 (19)
  • zacharyzhang 06-16 10:05
    1

    ^-^ 码了

  • Hoo9527 06-16 10:05
    2

    ^-^ ^-^

    二手N100 现在多少

  • rubua 06-16 10:07
    3

    给老哥赞

  • shen1e 06-16 10:07
    4

    j4125还在服役!

  • gijia 楼主 06-16 10:07
    5

    @rubua #3


    多谢大佬支持

  • JunKai 06-16 10:09
    6

    1037U足已

  • kvj 06-16 10:10
    7

    收藏一下,回头试试

  • GhostKyi 06-16 10:11
    8

    N100现在价格翻倍,下手很痛啊···

  • Shuijiaolam 06-16 10:13
    9

    给大佬点赞

  • awant 06-16 10:16
    10

    确实作用明显,这两天开启本地ipv6,因为这个"硬件/软件卸载(Offloading)"会造成openclash流量泄露,就关闭了,没想到youtube会提升这么明显!意外收获!

  • gijia 楼主 06-16 10:17
    11

    @awant #10


    不错,有效果就好,不枉推广给大伙。

  • nssk 06-16 10:22
    12

    最近在观望软路由 现在涨太多了

  • 燦丶 06-16 10:32
    13

    正常刷完机第一件事不就应该防火墙里把硬件卸载改为软件吗?

  • 桑榆非晚 06-16 12:03
    14

    点赞,我是硬路由,发现硬件nat的流量竟然没有计入openwrt的接口流量统计。

  • 黄师傅 06-16 12:08
    15

    谢谢分享

  • licong 06-16 12:09
    16

    @gijia #0

    是关闭网卡的“硬件/软件卸载(Offloading)”功能。这个页面不是就有开关可以关的么

  • 80hou 06-16 12:10
    17

    有没有什么好用的web测速软件包.用的25.12版本的.原来opkg一些web测速的软件包好像大部分不支持了.

  • Wa1ter 06-16 12:41
    18






























    场景 效果 原因
    某些廉价网卡(Realtek 8125/8111 等) 明显 这些网卡的 GRO 实现有 bug,合并会导致延迟抖动或丢包
    高并发小包流量(游戏、即时通讯) 微改善 减少合并等待时间,降低延迟
    Intel 网卡 + 视频流(YouTube) 通常无改善,甚至反向 Intel 驱动很完善,GRO 工作正常,关闭后徒增 CPU 负担
    J4125 等弱 CPU ️ 副作用 关闭 GRO 后中断数暴增,CPU 更忙,可能反而更卡
  • cybort 06-16 12:50
    19

    切包又不需要延迟等待,为什么要关发送端?

* 帖子来源NodeSeek
返回