找回密码
 立即注册
img_loading
智能检测中

QQ登录

只需一步,快速开始

搜索
广告投放联系QQ68610888广告投放联系QQ68610888
glinet
查看: 36194|回复: 61

K2P Padavan 连接数、CPU利用率优化,打死不改版

 火.. [复制链接]
发表于 2020-5-25 09:58 | 显示全部楼层 |阅读模式
本帖最后由 xykz 于 2020-5-25 10:21 编辑

过程回顾:
优化 K2P Padavan CPU 多核心使用
关于Padavan无法充分利用路由CPU的疑问(CPU>30%的利用率影响WIFI内网性能)
关于FULL CONE NAT对路由性能带来的影响研究

上面都可以不用看了,直接上最终优化的版本。

优化CPU多核利用率,主要是后来发现手动分配核心很难适应各种不同的环境,下面这个脚本直接遍历所有的接口,让系统自动判断分配了。路由器启动后、PPPOE拨号、virtual**拨号的时候都要调一遍,我这里是/etc/storage/bin/rps-rfs-ops.sh set

  1. #!/bin/sh

  2. set_rps_rfs() {
  3.     echo f >/proc/irq/11/smp_affinity
  4.     echo f >/proc/irq/12/smp_affinity

  5.     for device in $(ls /sys/class/net); do
  6.         echo f >/sys/class/net/$device/queues/rx-0/rps_cpus
  7.         echo 32768 >/sys/class/net/$device/queues/rx-0/rps_flow_cnt
  8.     done

  9.     echo 32768 >/proc/sys/net/core/rps_sock_flow_entries
  10. }

  11. get_rps_rfs() {
  12.     cat /proc/irq/11/smp_affinity
  13.     cat /proc/irq/12/smp_affinity

  14.     for device in $(ls /sys/class/net); do
  15.         printf "%-10s %-5s %-10s\n" "$device" "$(cat /sys/class/net/$device/queues/rx-0/rps_cpus)" "$(cat /sys/class/net/$device/queues/rx-0/rps_flow_cnt)"
  16.     done

  17.     cat /proc/sys/net/core/rps_sock_flow_entries
  18. }

  19. case $1 in
  20. get)
  21.     get_rps_rfs
  22.     ;;
  23. set)
  24.     set_rps_rfs
  25.     ;;
  26. *)
  27.     get_rps_rfs
  28.     ;;
  29. esac
复制代码


优化连接数,之前的配置里有不少是没用的,这里参考了MikroTik Routers的连接追踪设置,它的比较激进,但是也很有道理。。。比如syn包非常小,linux默认的参数居然是120/60秒超时,不知道是出于什么目的。我的配置稍微保守一点,有兴趣的可以对比试试

  1. echo 15 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_sent
  2. echo 15 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_syn_recv
  3. echo 1800 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_established
  4. echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_fin_wait
  5. echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close_wait
  6. echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_last_ack
  7. echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_time_wait
  8. echo 30 > /proc/sys/net/netfilter/nf_conntrack_tcp_timeout_close
  9. echo 30 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout
  10. echo 120 > /proc/sys/net/netfilter/nf_conntrack_udp_timeout_stream
  11. echo 30 > /proc/sys/net/netfilter/nf_conntrack_icmp_timeout
  12. echo 600 > /proc/sys/net/netfilter/nf_conntrack_generic_timeout
复制代码



评分

参与人数 2恩山币 +2 收起 理由
kingruida + 1 强大的恩山!(以下重复1万次)
bravebee + 1 感谢你的分享,无论怎样,你都是最无私的人!来,说说,你E盘上还有啥一起给我吧!

查看全部评分

只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
发表于 2020-5-25 14:54 | 显示全部楼层
问一下楼主,请问这些代码怎么用?谁叫我说小菜鸟
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-25 20:22 | 显示全部楼层
看了半天,还是没看懂怎么设置,什么原理
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-26 08:53 | 显示全部楼层
前排支持。。
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-26 10:15 | 显示全部楼层
想知道该如何使用这两部分,是不是编译之前修改相应代码

点评

可以,一劳永逸,或者在启动脚本那里添加  详情 回复 发表于 2020-5-27 02:06
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-26 15:49 | 显示全部楼层
echo f >/proc/irq/11/smp_affinity
这个管用吗?
我感觉内核好像不支持 自动分配
/home/root # cat /proc/interrupts
           CPU0       CPU1       CPU2       CPU3      
11:      37154          0  479767131          0  MIPS GIC  eth2
12:         64  376892419          0          0  MIPS GIC  rai0
20:          0          0          0          0  MIPS GIC  ralink_gpio
30:    1486894          0          0          0  MIPS GIC  xhci-hcd:usb1
31:        281          0          0          0  MIPS GIC  ralink_esw

点评

大神来了,目前用你的新3固件,很爽。 大神看看这个优化是不是可以搞进代码里,期待...... 谢谢  详情 回复 发表于 2020-5-27 06:46
看了一下确实是这样,但是其他的可以,你可以用htop看看,所有核心都是均衡负载的  详情 回复 发表于 2020-5-27 02:07
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-26 17:41 | 显示全部楼层
编译的时候怎么加进去?

点评

这个我不清楚,没玩编译,可以加在启动脚本那里  详情 回复 发表于 2020-5-27 02:08
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-27 02:06 | 显示全部楼层
maverickgoose 发表于 2020-5-26 10:15
想知道该如何使用这两部分,是不是编译之前修改相应代码

可以,一劳永逸,或者在启动脚本那里添加

点评

【优化连接数】这部分可以直接写在padavan启动脚本那里 【优化CPU多核利用率】这段代码怎么用,手动改/etc/storage/bin/rps-rfs-ops.sh这个文件吗? 谢谢大神  详情 回复 发表于 2020-5-27 06:48
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-27 02:07 | 显示全部楼层
footlog 发表于 2020-5-26 15:49
echo f >/proc/irq/11/smp_affinity
这个管用吗?
我感觉内核好像不支持 自动分配

看了一下确实是这样,但是其他的可以,你可以用htop看看,所有核心都是均衡负载的
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-27 02:08 | 显示全部楼层
kinkit 发表于 2020-5-26 17:41
编译的时候怎么加进去?

这个我不清楚,没玩编译,可以加在启动脚本那里
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-27 06:46 | 显示全部楼层
footlog 发表于 2020-5-26 15:49
echo f >/proc/irq/11/smp_affinity
这个管用吗?
我感觉内核好像不支持 自动分配

大神来了,目前用你的新3固件,很爽。
大神看看这个优化是不是可以搞进代码里,期待......
谢谢

点评

中断那个可能没有用。。。  详情 回复 发表于 2020-5-27 20:26
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-27 06:48 | 显示全部楼层
xykz 发表于 2020-5-27 02:06
可以,一劳永逸,或者在启动脚本那里添加

【优化连接数】这部分可以直接写在padavan启动脚本那里
【优化CPU多核利用率】这段代码怎么用,手动改/etc/storage/bin/rps-rfs-ops.sh这个文件吗?
谢谢大神

点评

rps-rfs-ops.sh这个文件并不存在,需要自己复制内容新建一个,或者传一个上去; 需要分别在下面二个位置调用这段脚本“rps-rfs-ops.sh set”: 自定义设置->脚本->在路由器启动后执行 自定义设置->网络检测->  详情 回复 发表于 2020-5-27 12:44
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

发表于 2020-5-27 08:32 | 显示全部楼层
breed里有超频吗?

点评

没超,默认频率按这个配置就可以跑我的测试用例  详情 回复 发表于 2020-5-27 12:45
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-27 12:44 | 显示全部楼层
maverickgoose 发表于 2020-5-27 06:48
【优化连接数】这部分可以直接写在padavan启动脚本那里
【优化CPU多核利用率】这段代码怎么用,手动改/e ...

rps-rfs-ops.sh这个文件并不存在,需要自己复制内容新建一个,或者传一个上去;

需要分别在下面二个位置调用这段脚本“rps-rfs-ops.sh set”:

自定义设置->脚本->在路由器启动后执行
自定义设置->网络检测->在网络访问状态改变时运行脚本

点评

大佬,我用putty传上了这个文件,路径和你一样 /etc/storage/bin/rps-rfs-ops.sh 权限已改为755 在putty中想测试一下,用的命令是/etc/storage/bin/rps-rfs-ops.sh get 结果控制台显示 -sh:/etc/storage/bin/rps  详情 回复 发表于 2020-5-27 14:37
自定义设置->网络检测->在网络访问状态改变时运行脚本 这个我再补充一下,固件页面有所区别,找到【网络监测】---【监测模式改为持续监测】--- 【拉到最下面,在网络访问状态改变时运行脚本】  详情 回复 发表于 2020-5-27 14:02
赞呀,步骤一目了然,这就去整上  详情 回复 发表于 2020-5-27 13:43
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-5-27 12:45 | 显示全部楼层
martin_ni 发表于 2020-5-27 08:32
breed里有超频吗?

没超,默认频率按这个配置就可以跑我的测试用例
只谈技术、莫论政事!(点击见详情) | 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

欢迎大家光临恩山无线论坛

只谈技术、莫论政事!切勿转播谣言!为了你也为了他人。
只谈技术、莫论政事!(点击见详情) 切记不要随意传播谣言,把自己的日子过安稳了就行,为了自己好也为了大家好。 恩山无线论坛欢迎您的来访,请互相尊重、友善交流,建议保持一颗平常心看待网友的评论,切勿过度反应。

查看 »

有疑问请添加管理员QQ86788181|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )

GMT+8, 2025-5-21 11:38

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

| 江苏省互联网有害信息举报中心 举报信箱:js12377 | @jischina.com.cn 举报电话:025-88802724 本站不良内容举报信箱:68610888@qq.com

快速回复 返回顶部 返回列表