软路由是 J4125 的 CPU ,物理机安装 OpenWrt ,只跑了 PassWall2 和 Adguard Home 。
今天把软路由拆下来准备带到另外的地方。偶然看了一下延迟,发现有明显的下降,以前频繁的波动也没有了。
之前是软路由做主路由,K2P 当 AP ,现在只有 K2P 。
以上是家里设备 ping 运营商 DNS 的延迟,可能的原因是什么呢,大家有什么排查思路么。
补一张今早重装完之后到现在的延迟,和单独使用 K2P 基本没有区别
![]() | 1 IvanLi127 2024-06-04 02:32:43 +08:00 我觉得是软路由性能不够。以前用 j4125 就这状态,不过我是 pve 里开 vm |
2 yyysuo 2024-06-04 02:46:27 +08:00 via iPhone 什么软件的显示? |
![]() | 5 JayZXu 2024-06-04 08:08:00 +08:00 说实话,在我这儿表现也差不多是这样。 负载不高,测速能跑满,但就是日常访问速度明细要比硬路由慢,所以现在都是旁路由这么用,不会影响主干网 |
7 halen1021 2024-06-04 10:14:09 +08:00 感觉不像是性能导致的原因 |
8 halen1021 2024-06-04 10:15:52 +08:00 你这个探针服务是什么呀? |
![]() | 9 Goooooos 2024-06-04 10:19:37 +08:00 我在树莓派上 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 |
![]() | 10 qian88199496 2024-06-04 10:24:17 +08:00 我原先是用软路由拨号延迟会高一丢丢,用硬路由拨号,软路由当旁路,延迟会低很多,然后也稳定很多 |
11 Y25tIGxpdmlk 2024-06-04 10:30:04 +08:00 @IvanLi127 #1 4125 这 CPU ,物理安装 openwrt ,就跑个软路由,还能性能不够??我猜可能固件或者设置问题。 |
![]() | 12 wy315700 2024-06-04 10:31:36 +08:00 软路由会导致延迟波动 和性能无关。 因为 Linux 分时系统的问题。要等待时间片分配。 |
![]() | 13 terry0314 OP |
14 yyysuo 2024-06-04 10:46:18 +08:00 有没有可能是分流的问题? |
15 visionzk 2024-06-04 10:48:52 +08:00 说个题外话,会不会是这几天严打,邻居都被封了 |
![]() | 16 terry0314 OP @yyysuo 现在看起来的确比较像是 PassWall 的问题,可能是哪里配置不对,目前新写入的原版镜像不跑服务延迟没有上升 |
![]() | 20 povsister 2024-06-04 11:51:31 +08:00 会,分时系统只能尽量保证延时,在工况复杂的时候时常会出现 spike 和硬路由这种带硬件 offload 的设备没法比。 |
![]() | 22 qiaoqiao1235 2024-06-04 15:01:12 +08:00 怀疑是不是跟 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 |
![]() | 23 qiaoqiao1235 2024-06-04 15:03:13 +08:00 @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 |
25 JimmyChan1506 2024-06-04 16:49:13 +08:00 把 Passwall 换成 paopaoDNS+paopaoGateway 吧, 值得拥有 |
![]() | 26 xctcc 2024-06-04 19:30:49 +08:00 我用软路由,玩 lol 延迟稳定 25 ,用 k2p 硬路由玩 lol ,延迟稳定 19 ,百思不得其解 |
![]() | 30 diave971349 2024-06-30 02:06:24 +08:00 @JimmyChan1506 #25 有傻瓜化教程吗 |
31 JimmyChan1506 2024-07-01 17:36:09 +08:00 @diave971349 官方文档 |