terry0314
V2EX  ›  问与答

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

  •  
  •   terry0314 · Jun 4, 2024 · 5516 views
    This topic created in 886 days ago, the information mentioned may be changed or developed.

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

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

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

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

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

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

    31 replies  •  2024-07-01 17:36:09 +08:00
    IvanLi127
    IvanLi127
    Jun 4, 2024
    1
    我觉得是软路由性能不够。以前用 j4125 就这状态,不过我是 pve 里开 vm
    yyysuo
    yyysuo
    Jun 4, 2024 via iPhone
    2
    什么软件的显示?
    terry0314
    terry0314
    OP
    Jun 4, 2024
    3
    @IvanLi127 但我看负载一致很低,CPU load 只有个位数
    terry0314
    terry0314
    OP
    Jun 4, 2024
    4
    @yyysuo 群晖上挂的探针
    JayZXu
    JayZXu
    Jun 4, 2024
    5
    说实话,在我这儿表现也差不多是这样。
    负载不高,测速能跑满,但就是日常访问速度明细要比硬路由慢,所以现在都是旁路由这么用,不会影响主干网
    IvanLi127
    IvanLi127
    Jun 4, 2024
    6
    @terry0314 我也是这样,看负载不高,但是就是延迟大。
    halen1021
    halen1021
    Jun 4, 2024
    7
    感觉不像是性能导致的原因
    halen1021
    halen1021
    Jun 4, 2024
    8
    你这个探针服务是什么呀?
    Sezxy
    Sezxy
    Jun 4, 2024
    9
    我在树莓派上 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
    qian88199496
    Jun 4, 2024
    10
    我原先是用软路由拨号延迟会高一丢丢,用硬路由拨号,软路由当旁路,延迟会低很多,然后也稳定很多
    IH0kIG5E67ZY43M5
    IH0kIG5E67ZY43M5
    Jun 4, 2024
    11
    @IvanLi127 #1 4125 这 CPU ,物理安装 openwrt ,就跑个软路由,还能性能不够??我猜可能固件或者设置问题。
    wy315700
    wy315700
    Jun 4, 2024
    12
    软路由会导致延迟波动

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

    但是在性能范围内优点多。
    povsister
    povsister
    Jun 4, 2024
    20
    会,分时系统只能尽量保证延时,在工况复杂的时候时常会出现 spike
    和硬路由这种带硬件 offload 的设备没法比。
    ShunYea
    ShunYea
    Jun 4, 2024
    21
    @wy315700 #19 同理,我硬路由刷了 OpenWrt 也是一样了?
    qiaoqiao1235
    qiaoqiao1235
    Jun 4, 2024
    22
    怀疑是不是跟 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
    qiaoqiao1235
    Jun 4, 2024
    23
    @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
    wy315700
    Jun 4, 2024
    24
    @ShunYea 看你有没有开 offload 了
    JimmyChan1506
    JimmyChan1506
    Jun 4, 2024
    25
    把 Passwall 换成 paopaoDNS+paopaoGateway 吧, 值得拥有
    xctcc
    xctcc
    Jun 4, 2024
    26
    我用软路由,玩 lol 延迟稳定 25 ,用 k2p 硬路由玩 lol ,延迟稳定 19 ,百思不得其解
    terry0314
    terry0314
    OP
    Jun 4, 2024
    27
    @xctcc 软路由上有跑什么服务吗
    xctcc
    xctcc
    Jun 4, 2024
    28
    @terry0314 就 lede 的 openwrt 加 passwall
    terry0314
    terry0314
    OP
    Jun 4, 2024
    29
    @xctcc #28 🤔感觉很可能是 passwall 的问题
    diave971349
    diave971349
    Jun 30, 2024
    30
    @JimmyChan1506 #25 有傻瓜化教程吗
    JimmyChan1506
    JimmyChan1506
    Jul 1, 2024
    31
    @diave971349 官方文档
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   1668 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 52ms · UTC 11:10 · PVG 19:10 · LAX 03:10 · JFK 06:10
    ♥ Do have faith in what you're doing.