V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
terry0314
V2EX  ›  问与答

软路由会导致延迟上升和波动吗

  •  
  •   terry0314 · 178 天前 · 2409 次点击
    这是一个创建于 178 天前的主题,其中的信息可能已经有所发展或是发生改变。

    软路由是 J4125 的 CPU ,物理机安装 OpenWrt ,只跑了 PassWall2 和 Adguard Home 。

    今天把软路由拆下来准备带到另外的地方。偶然看了一下延迟,发现有明显的下降,以前频繁的波动也没有了。

    之前是软路由做主路由,K2P 当 AP ,现在只有 K2P 。 b2793bc4-8a5e-42f9-a7a8-00c6564925d1.png

    以上是家里设备 ping 运营商 DNS 的延迟,可能的原因是什么呢,大家有什么排查思路么。

    第 1 条附言  ·  177 天前
    我重新安装了官方最新镜像,没有跑任何服务在上面,今天观察看看延迟情况
    第 2 条附言  ·  177 天前
    大概率是 PassWall 的问题,早上重新安装最新的官方镜像后,延迟稳定了
    第 3 条附言  ·  177 天前

    补一张今早重装完之后到现在的延迟,和单独使用 K2P 基本没有区别

    31 条回复    2024-07-01 17:36:09 +08:00
    IvanLi127
        1
    IvanLi127  
       178 天前
    我觉得是软路由性能不够。以前用 j4125 就这状态,不过我是 pve 里开 vm
    yyysuo
        2
    yyysuo  
       178 天前 via iPhone
    什么软件的显示?
    terry0314
        3
    terry0314  
    OP
       177 天前
    @IvanLi127 但我看负载一致很低,CPU load 只有个位数
    terry0314
        4
    terry0314  
    OP
       177 天前
    @yyysuo 群晖上挂的探针
    JayZXu
        5
    JayZXu  
       177 天前
    说实话,在我这儿表现也差不多是这样。
    负载不高,测速能跑满,但就是日常访问速度明细要比硬路由慢,所以现在都是旁路由这么用,不会影响主干网
    IvanLi127
        6
    IvanLi127  
       177 天前
    @terry0314 我也是这样,看负载不高,但是就是延迟大。
    halen1021
        7
    halen1021  
       177 天前
    感觉不像是性能导致的原因
    halen1021
        8
    halen1021  
       177 天前
    你这个探针服务是什么呀?
    Goooooos
        9
    Goooooos  
       177 天前
    我在树莓派上 ping 联通的 dns ,延迟比你的还要低,应该不是性能问题
    网络是:树莓派---(网线)---》小米 AX6000------(网线)---》 J4125 软路由

    pi@pi4:~ $ ping 116.116.116.116
    PING 116.116.116.116 (116.116.116.116) 56(84) bytes of data.
    64 bytes from 116.116.116.116: icmp_seq=1 ttl=92 time=4.62 ms
    64 bytes from 116.116.116.116: icmp_seq=2 ttl=92 time=4.71 ms
    64 bytes from 116.116.116.116: icmp_seq=3 ttl=92 time=4.75 ms
    64 bytes from 116.116.116.116: icmp_seq=4 ttl=92 time=4.68 ms
    64 bytes from 116.116.116.116: icmp_seq=5 ttl=92 time=4.19 ms
    64 bytes from 116.116.116.116: icmp_seq=6 ttl=92 time=4.56 ms
    qian88199496
        10
    qian88199496  
       177 天前
    我原先是用软路由拨号延迟会高一丢丢,用硬路由拨号,软路由当旁路,延迟会低很多,然后也稳定很多
    Y25tIGxpdmlk
        11
    Y25tIGxpdmlk  
       177 天前
    @IvanLi127 #1 4125 这 CPU ,物理安装 openwrt ,就跑个软路由,还能性能不够??我猜可能固件或者设置问题。
    wy315700
        12
    wy315700  
       177 天前
    软路由会导致延迟波动

    和性能无关。
    因为 Linux 分时系统的问题。要等待时间片分配。
    terry0314
        13
    terry0314  
    OP
       177 天前
    yyysuo
        14
    yyysuo  
       177 天前
    有没有可能是分流的问题?
    visionzk
        15
    visionzk  
       177 天前
    说个题外话,会不会是这几天严打,邻居都被封了
    terry0314
        16
    terry0314  
    OP
       177 天前
    @yyysuo 现在看起来的确比较像是 PassWall 的问题,可能是哪里配置不对,目前新写入的原版镜像不跑服务延迟没有上升
    terry0314
        17
    terry0314  
    OP
       177 天前
    @visionzk 我这里的现象应该和这个无关,ping 的 DNS 服务器都是运营商本地的
    ShunYea
        18
    ShunYea  
       177 天前
    @wy315700 #12 那如果这样,爱快一类的都是如此吧?
    wy315700
        19
    wy315700  
       177 天前
    @ShunYea
    都一样,软路由典型的特点就是延迟不稳定。忽高忽低的

    但是在性能范围内优点多。
    povsister
        20
    povsister  
       177 天前
    会,分时系统只能尽量保证延时,在工况复杂的时候时常会出现 spike
    和硬路由这种带硬件 offload 的设备没法比。
    ShunYea
        21
    ShunYea  
       177 天前
    @wy315700 #19 同理,我硬路由刷了 OpenWrt 也是一样了?
    qiaoqiao1235
        22
    qiaoqiao1235  
       177 天前
    怀疑是不是跟 cpu 调度模式有关,我是自己编的固件,改了 cpu 调度模式,不知道是不是幻觉,感觉延迟还可以。
    一般固件默认是 SCHEDUTIL 模式,我修改成 PERFORMANCE 性能模式

    1 ) userspace 让用户态的程序可以通过接口动态调整 cpufreq
    2 ) conservative 动态调整,load 高则高频,load 低则低频
    3 ) ondemand 也是动态调整,不过比较极端,cpufreq 一使用则立刻最高,用完直接最低
    4 ) powersave CPU 会固定工作在其支持的最低运行频率上
    5 ) performance CPU 会固定工作在其支持的最高运行频率上
    6) Schedutil 根据各个 CPU 使用率变化,调速快(周期在 1ms 级),CPU 频率升得快,降得也快(真实需要多少频率就尽快给多少频率,减少浪费)

    编译的时候修改
    sed -i 's/CONFIG_CPU_FREQ_DEFAULT_GOV_SCHEDUTIL/CONFIG_CPU_FREQ_DEFAULT_GOV_PERFORMANCE/g' target/linux/x86/64/config-5.15
    sed -i '/CONFIG_CPU_FREQ_GOV_SCHEDUTIL/a\CONFIG_CPU_FREQ_GOV_PERFORMANCE=y' target/linux/x86/64/config-5.15
    qiaoqiao1235
        23
    qiaoqiao1235  
       177 天前
    @qiaoqiao1235 #22
    也可以直接在终端修改(以下为修改性能模式例子)
    也可以写到启动脚本里面,这样刷固件也不会丢失。

    echo performance >> /sys/devices/system/cpu/cpufreq/policy0/scaling_governor
    echo performance >> /sys/devices/system/cpu/cpufreq/policy1/scaling_governor
    echo performance >> /sys/devices/system/cpu/cpufreq/policy2/scaling_governor
    echo performance >> /sys/devices/system/cpu/cpufreq/policy3/scaling_governor
    echo 2700000 > /sys/devices/system/cpu/cpufreq/policy0/scaling_min_freq
    echo 2700000 > /sys/devices/system/cpu/cpufreq/policy1/scaling_min_freq
    echo 2700000 > /sys/devices/system/cpu/cpufreq/policy2/scaling_min_freq
    echo 2700000 > /sys/devices/system/cpu/cpufreq/policy3/scaling_min_freq


    分享一些常用命令:
    查询当前频率:
    cat /proc/cpuinfo |grep MHz|uniq

    查看核心数
    cd /sys/devices/system/cpu/
    ll

    查看当前运行 CPU 模式(这里是 CPU0 为例)
    cat /sys/devices/system/cpu/cpu0/cpufreq/scaling_governor
    wy315700
        24
    wy315700  
       177 天前
    @ShunYea 看你有没有开 offload 了
    JimmyChan1506
        25
    JimmyChan1506  
       177 天前
    把 Passwall 换成 paopaoDNS+paopaoGateway 吧, 值得拥有
    xctcc
        26
    xctcc  
       177 天前
    我用软路由,玩 lol 延迟稳定 25 ,用 k2p 硬路由玩 lol ,延迟稳定 19 ,百思不得其解
    terry0314
        27
    terry0314  
    OP
       177 天前
    @xctcc 软路由上有跑什么服务吗
    xctcc
        28
    xctcc  
       177 天前
    @terry0314 就 lede 的 openwrt 加 passwall
    terry0314
        29
    terry0314  
    OP
       177 天前
    @xctcc #28 🤔感觉很可能是 passwall 的问题
    diave971349
        30
    diave971349  
       152 天前
    @JimmyChan1506 #25 有傻瓜化教程吗
    JimmyChan1506
        31
    JimmyChan1506  
       150 天前
    @diave971349 官方文档
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1096 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 19:40 · PVG 03:40 · LAX 11:40 · JFK 14:40
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.