Ozero-Tab

软路由网络优化调试 - 降低网络抖动、跑满带宽

IRQ绑核+RPS分流+内核调度 (通用适配,附硬件配置建议)

前言

很多iStoreOS系统用户,会遇到网速跑不满、满载抖动高、游戏跳ping、CPU调度混乱等问题。核心原因不是硬件性能不足,而是系统默认调度策略松散:网卡中断乱跑、单核负载堆积、后台进程抢占转发核心、软中断缓存失效。

本文为通用X86硬件方案,所有步骤均经过真机实测、重启验证、满载测速核验,无玄学、无无效参数。优化后达成效果:

  • 网络抖动稳定 0.5–1.0ms(家用软路由顶级水准)

  • 2.5G网口满血跑满,无带宽瓶颈 [千兆宽带下载速度120-130m/s;2000M宽带下载速度220-240m/s]

  • WAN/LAN业务核心完全隔离,无跨核调度浪费

  • 后台进程不抢占转发核心,空载/满载延迟一致性极高

  • 所有配置永久开机自启,重启不失效、不重置

通用适配说明:

  1. 本教程基于iStoreOS系统实操编写,优化逻辑通用适配绝大多数四核及以上架构软路由。

  2. 硬件配置建议:优先N3700、J4125、N5105、i3-N100及以上规格处理器,低功耗双核设备性能余量不足,不建议照搬全套极致优化参数。

  3. 实测最优适配组合:四核处理器 + 2.5G网卡 + iStoreOS系统。

一、优化核心原理(通俗易懂)

整套优化分为四层闭环,软硬结合、层层兜底,彻底解决调度乱象:

  1. 硬件层(IRQ中断绑核):将WAN、LAN网卡硬件中断固定绑定指定CPU核心,杜绝中断乱跑、单核堆积,硬件RSS队列独立工作。

  2. 进程层(CPU亲和隔离):后台监控、系统闲置进程绑定空闲核心,不抢占网络转发核心。

  3. 内核层(网络调度优化):关闭定时器跨核漂移、扩容网卡收包预算、优化TCP拥塞算法,降低调度抖动。

  4. 软件层(RPS/RFS流量分流):配合硬件RSS,做软件二次流量均衡,提升CPU缓存命中率,稳定小包转发延迟。

二、前期准备

  1. 开启SSH连接软路由(iStoreOS默认开启,端口22)

  2. root账号登录,拥有完整权限

  3. 确认网卡:WAN=eth0、LAN=eth1(默认通用布局,无需修改)

三、第一步:IRQ中断绑核脚本(核心硬件优化、永久自启)

这是整套优化的核心根基,实现业务核心隔离:WAN占用CPU1/CPU3、LAN独占CPU2、系统后台占用CPU0,各司其职。

1. 创建开机优化脚本

SSH逐条执行,创建完整优化脚本:

cat > /root/irq_affinity_fix.sh <<EOF
#!/bin/sh
sleep 8

# ===== WAN eth0 队列绑核 =====
# eth0-TxRx-0/1 -> CPU1 (掩码2)
echo 2 > /proc/irq/122/smp_affinity
echo 2 > /proc/irq/123/smp_affinity

# eth0-TxRx-2/3 -> CPU3 (掩码8)
echo 8 > /proc/irq/124/smp_affinity
echo 8 > /proc/irq/125/smp_affinity

# ===== LAN eth1 队列绑核 =====
# eth1 所有队列独占 CPU2 (掩码4)
echo 4 > /proc/irq/127/smp_affinity
echo 4 > /proc/irq/128/smp_affinity
echo 4 > /proc/irq/129/smp_affinity
echo 4 > /proc/irq/130/smp_affinity

# ===== RPS流量导向永久配置(开机自动加载) =====
# WAN eth0 四队列 128
echo 128 > /sys/class/net/eth0/queues/rx-0/rps_flow_cnt
echo 128 > /sys/class/net/eth0/queues/rx-1/rps_flow_cnt
echo 128 > /sys/class/net/eth0/queues/rx-2/rps_flow_cnt
echo 128 > /sys/class/net/eth0/queues/rx-3/rps_flow_cnt

# LAN eth1 四队列 128
echo 128 > /sys/class/net/eth1/queues/rx-0/rps_flow_cnt
echo 128 > /sys/class/net/eth1/queues/rx-1/rps_flow_cnt
echo 128 > /sys/class/net/eth1/queues/rx-2/rps_flow_cnt
echo 128 > /sys/class/net/eth1/queues/rx-3/rps_flow_cnt
EOF

2. 赋予脚本执行权限

chmod +x /root/irq_affinity_fix.sh

3. 设置开机自启(系统标准启动项)

# 创建开机启动软链接,99最后执行,等待硬件完全初始化
ln -sf /root/irq_affinity_fix.sh /etc/rc.d/S99irq_custom_fix

4. 临时执行一次,立即生效无需重启

/root/irq_affinity_fix.sh

5. 验证IRQ绑核是否成功

cat /proc/irq/122/smp_affinity
cat /proc/irq/125/smp_affinity
cat /proc/irq/127/smp_affinity

正确返回结果:2、8、4,代表绑核100%成功。

四、第二步:进程隔离优化(杜绝后台抢占转发核心)

iStoreOS自带的bandix带宽监控进程会默认占用转发核心,造成微小抖动,将其固定至闲置CPU0,彻底隔离。

执行绑定命令(真机实测有效)

taskset -p -c 0 $(pidof bandix)

验证绑定结果

taskset -p $(pidof bandix)

返回 current affinity mask: 1 即为成功,进程永久锁定CPU0。

补充:该绑定为临时最优,重启后脚本接管全局调度,无需重复操作。

五、第三步:内核网络参数永久优化(压低调度抖动)

修正系统默认保守参数,解决CPU变频漂移、收包效率低、TCP连接冗余问题,所有参数永久写入系统

1. 写入永久内核参数

# 禁止定时器跨核迁移,根治调度抖动
echo "kernel.timer_migration=0" >> /etc/sysctl.conf
# 扩容网卡收包预算,减少高频中断唤醒
echo "net.core.netdev_budget=3000" >> /etc/sysctl.conf
# 开启BBR拥塞算法,优化外网延迟、降低丢包波动
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf
# 复用TIME-WAIT连接,减少内核资源开销
echo "net.ipv4.tcp_tw_reuse=1" >> /etc/sysctl.conf
# RPS全局总流表池(适配4队列128参数,完美配比)
echo "net.core.rps_sock_flow_entries=512" >> /etc/sysctl.conf

2. 重载参数,立即生效

sysctl -p

无报错、全部参数加载成功即为正常。

六、第四步:RPS流量导向最优配置(软硬分流闭环)

四核处理器+I226-V 4队列网卡,128单队列是家用唯一最优值,256冗余增加检索开销,反而升高抖动。

参数配比逻辑

单队列128 × 4队列 = 全局512总流池,配比标准、内存开销低、缓存命中率最高,完美适配家用设备并发量。

前文脚本已自动写入RPS配置,无需重复操作,仅需核对:

# 核对全局参数
sysctl net.core.rps_sock_flow_entries
# 核对单队列参数
cat /sys/class/net/eth0/queues/rx-0/rps_flow_cnt
cat /sys/class/net/eth1/queues/rx-0/rps_flow_cnt

返回512、128即为RPS配置完美生效。

七、第五步:精简后台服务(极致减负,临时无风险)

关闭无用后台进程,杜绝随机CPU抢占,重启自动恢复,无任何永久副作用

# 关闭局域网设备发现服务
/etc/init.d/avahi-daemon stop
# 关闭UPnP端口映射(无需内网穿透可长期关闭)
/etc/init.d/miniupnpd stop
# 关闭dbus局域网广播
/etc/init.d/dbus stop

八、关键避坑指南(必看!防止配置失效)

  • 禁止开启自动包转向packet_steering:会强制打乱手动IRQ绑核逻辑,导致调度混乱、抖动升高。

  • 放弃netdev_budget_usecs参数:iStoreOS精简内核已裁剪该参数,强行写入会报错,无需配置不影响性能。

  • RPS无需256:家用场景128完全满血,256仅适用于企业百设备高并发场景。

  • 不要修改IRQ掩码:本文掩码为真机实测最优配比,改动会导致核心负载失衡。

九、全套效果验证方法(100%可自查)

1. 中断绑定验证

cat /proc/interrupts

观察:WAN队列增量仅CPU1/3、LAN队列增量仅CPU2,无乱跑即为正常。

2. 软中断负载验证

while true;do clear;cat /proc/softirqs;sleep 1;done

NET_RX收包负载严格跟随绑定核心,负载均衡无堆积。

3. 最终测速标准

  • 内网iperf3测速:抖动稳定0.5–1.0ms(真实路由调度性能)

  • 外网测速:满速跑满带宽,无满载降速、无突发高抖动

十、配置备份方案(防止固件升级丢失)

升级固件仅需备份两个文件,恢复一键复原所有优化:

  1. 优化脚本:/root/irq_affinity_fix.sh

  2. 内核参数配置:/etc/sysctl.conf

十一、最终优化总结

本次优化实现了硬件绑核+进程隔离+内核调优+软件分流四层闭环,彻底解决某些入门级低功耗硬件在iStoreOS下的调度通病。

优化后特性:

  • 满载无卡顿、无跳ping,游戏/直播/NAS传输极致稳定

  • CPU负载分工明确,余量充足,不浪费硬件性能

  • 所有配置永久生效,一次设置终身省心

声明:本文所有方案均为真机实测验证,无复制网络玄学参数,适配所有同配置软路由,可直接参考使用。


墙裂推荐-YIY云 点击进入注册地址 - 延时低;某些地区测速500M/s+/可跑满千兆 端午节包年9折优惠券:YIY618

说明:不便宜但线路稳定;不掉速;延时低;看奈飞首选;官方禁止挂代理访问BT/PT资源或迅雷下载!禁止多人共用账号!在线超4+IP或者跨城必封号! 欲了解详细功能与套餐,请访问 YIY云


墙裂推荐2-良心云 点击进入注册地址 - 延时低;价格便宜经济;晚高峰速度快

说明:低至月付6元;年付72元;🚀 四网超低延迟,畅享极速网络体验;支持同时在线20台设备使用;高达3Gbps带宽,晚高峰观看8K 60fps不卡顿;解锁三大流媒体和HK电视台@ 详情请访问良心云