恩山无线论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 1236|回复: 17

【性能调优】高效利用多核CPU的优势——多平台优化支持贴

[复制链接]
发表于 2020-3-9 09:05 | 显示全部楼层 |阅读模式
中断均衡脚本的帖子中,我基于OpenWrt与IPQ4019编写了优化脚本,发现有一定的性能提升。由于我只有RT-ACRH17,因此无法提供更多系统和SOC的脚本。如果想对自己的多核路由器进行优化的话,可进行以下步骤,并将输出结果回复到帖子里,我会尽可能更新到github目录中。
  • 使用ssh/telnet登录路由器
  • 输入
    1. cat /proc/interrupts
    复制代码

  • 复制输出结果并回复系统版本、SOC版本与输出结果

    中断表

    中断表



我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-9 10:41 | 显示全部楼层
QQ截图20200309104218.jpg

R3G MT7621   lean仓库最新

点评

已更新至github仓库  详情 回复 发表于 2020-3-9 12:02
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-9 12:02 | 显示全部楼层
bb1993916 发表于 2020-3-9 10:41
R3G MT7621   lean仓库最新

已更新至github仓库
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-9 12:24 | 显示全部楼层
QQ截图20200309122419.jpg

K3 Bcm4709   Lean仓库最新

点评

已更新至GitHub仓库中的BCM53xx目录  详情 回复 发表于 2020-3-9 13:22
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-9 13:22 | 显示全部楼层
bb1993916 发表于 2020-3-9 12:24
K3 Bcm4709   Lean仓库最新

已更新至GitHub仓库中的BCM53xx目录
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-9 13:31 来自手机 | 显示全部楼层
感谢分享。。。。。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-9 17:41 | 显示全部楼层
本帖最后由 ByByMe 于 2020-3-9 17:49 编辑

原来也有人关注这个了。先说下自己之前的测试结果。7615+7621(双核四线程),在padavan下,不开启hwnat,无线跑lan to 5g 600多M,wan to 5g 400多M(padavan eth3 wan,eth2 lan,ra0无线),经过测试wan to 5g最快的策略是

echo 3 >/sys/class/net/eth3/queues/rx-0/rps_cpus
echo 8 > /proc/irq/11/smp_affinity
echo 8 > /proc/irq/32/smp_affinity
cat /proc/interrupts/里并没有eth3,不太清楚原因。反正要让eth3跑在一个核心的两个线程上,无线和eth2跑在另一个核心上,eth3的线程不能跑在eth2或者ra0在的核心上,否则速度大幅降低。
这个图只是参考下中断号,后面有了hwnat不用调速度也起得来就没弄了

点评

1004kc的性能和Cortex A7差的比较远,我没实测过7621,没想到单核心居然会撑不下lan+wan+radio,我还是改下策略吧  详情 回复 发表于 2020-3-9 18:02
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-9 18:02 | 显示全部楼层
本帖最后由 presisco 于 2020-3-9 18:03 编辑
ByByMe 发表于 2020-3-9 17:41
原来也有人关注这个了。先说下自己之前的测试结果。7615+7621(双核四线程),在padavan下,不开启hwnat, ...

1004kc的性能和Cortex A7差的比较远,我没实测过7621,没想到单核心居然会撑不下lan+wan+radio,我还是改下策略吧。
因为5g to Wan这种在CPU够用的情况下分配到一个核心执行可以避免跨CPU的缓存同步问题。

点评

不知道为什么跑无线的时候eth3 很吃cpu,echo 1 >/sys/class/net/eth3/queues/rx-0/rps_cpus 速度都不行,还得改成3,两个线程跑wan。有线的时候单线程跑eth3压力并不高。  详情 回复 发表于 2020-3-9 18:15
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-9 18:15 | 显示全部楼层
presisco 发表于 2020-3-9 18:02
1004kc的性能和Cortex A7差的比较远,我没实测过7621,没想到单核心居然会撑不下lan+wan+radio,我还是改 ...

不知道为什么跑无线的时候eth3 很吃cpu,echo 1 >/sys/class/net/eth3/queues/rx-0/rps_cpus 速度都不行,还得改成3,两个线程跑wan。有线的时候单线程跑eth3压力并不高。
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-3-9 18:23 | 显示全部楼层
楼主需要的话我可以提供下参数,之前没找到7621 op咋调wan所在的cpu,padavan那种方法调了后测速时 cpu的负载还是乱七八糟的。。。

点评

应该要同时调net queues和eth中断吧?你有参数的话更好 IPQ4019直接把队列对应到中断上了,省了不少事  详情 回复 发表于 2020-3-9 18:44
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-3-9 18:44 | 显示全部楼层
ByByMe 发表于 2020-3-9 18:23
楼主需要的话我可以提供下参数,之前没找到7621 op咋调wan所在的cpu,padavan那种方法调了后测速时 cpu的负 ...

应该要同时调net queues和eth中断吧?你有参数的话更好

IPQ4019直接把队列对应到中断上了,省了不少事
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-7-4 09:23 | 显示全部楼层
7621 5.4换了dsa,每个接口都可以设置rps。经过测试,最快的策略是eth0的rps和有线中断必须在同一个虚拟核心上,无线扔给这个物理核心剩下的另一个虚拟核心。wan和lan丢给另外一个cpu上随便分配。实测nat性能有线900+ 无线800+
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-7-4 09:29 | 显示全部楼层
虽然eth0的rps和有线中断都在同一个虚拟核心时跑900+时,那个核心已经满载。但把eth0的rps放在其他核心上性能反而下降,不知道是什么原理,核间通信的损耗太大?
我的恩山、我的无线 The best wifi forum is right here.
发表于 2020-7-4 09:50 | 显示全部楼层
           CPU0       CPU1       CPU2       CPU3
  0:          1          0          0          0   IO-APIC   2-edge      timer
  1:        102          0          0          0   IO-APIC   1-edge      i8042
  8:          1          0          0          0   IO-APIC   8-edge      rtc0
  9:          0          0          0          0   IO-APIC   9-fasteoi   acpi
12:          6          0          0          0   IO-APIC  12-edge      i8042
14:          0          0          0          0   IO-APIC  14-edge      ata_piix
15:          0          0          0          0   IO-APIC  15-edge      ata_piix
16:     845923          0          0          0   IO-APIC  16-fasteoi   eth2
17:   62219650          0          0          0   IO-APIC  17-fasteoi   ioc0, eth3
18:  531340134          0          0          0   IO-APIC  18-fasteoi   eth0, eth4
19:  563192711          0          0          0   IO-APIC  19-fasteoi   eth1
24:          0          0          0          0   PCI-MSI 129024-edge      vmw_vmci
25:          0          0          0          0   PCI-MSI 129025-edge      vmw_vmci
NMI:          0          0          0          0   Non-maskable interrupts
LOC:   92472245   94030239   92275220   92777380   Local timer interrupts
SPU:          0          0          0          0   Spurious interrupts
PMI:          0          0          0          0   Performance monitoring interrupts
IWI:          0          0          0          0   IRQ work interrupts
RTR:          0          0          0          0   APIC ICR read retries
RES:   12241993   14639320   14664719   15097251   Rescheduling interrupts
CAL:       8554  163374832  187141612  157832517   Function call interrupts
TLB:       3479       3434       4363       3981   TLB shootdowns
TRM:          0          0          0          0   Thermal event interrupts
THR:          0          0          0          0   Threshold APIC interrupts
DFR:          0          0          0          0   Deferred Error APIC interrupts
MCE:          0          0          0          0   Machine check exceptions
MCP:       2687       2687       2687       2687   Machine check polls
HYP:          0          0          0          0   Hypervisor callback interrupts
ERR:          0
MIS:          0
PIN:          0          0          0          0   Posted-interrupt notification event
NPI:          0          0          0          0   Nested posted-interrupt event
PIW:          0          0          0          0   Posted-interrupt wakeup event







intel 9500T
16G
软路由分配4核心

点评

直接装irqbalance吧,自动均衡应该就够用了  详情 回复 发表于 2020-7-4 11:38
我的恩山、我的无线 The best wifi forum is right here.
 楼主| 发表于 2020-7-4 11:38 | 显示全部楼层
sc0000000 发表于 2020-7-4 09:50
CPU0       CPU1       CPU2       CPU3
  0:          1          0          0          0   ...

直接装irqbalance吧,自动均衡应该就够用了

点评

好的,谢谢,回去我找找看  详情 回复 发表于 2020-7-4 15:24
我的恩山、我的无线 The best wifi forum is right here.
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|Archiver|恩山无线论坛(常州市恩山计算机开发有限公司版权所有) ( 苏ICP备05084872号 )|网站地图

GMT+8, 2021-1-27 03:25

Powered by Discuz! X3.4

Copyright © 2001-2020, Tencent Cloud.

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