当前位置: 首页 > news >正文

通信模组性能调优

通信模组性能调优

  • 1 背景
  • 2 高通平台软硬加速
    • 2.1 NSS
    • 2.2 SFE
    • 2.3 PPE
  • 3 CPU 负载均衡设置
    • 3.1 启用内核 RPS&RFS 功能
    • 3.2 网卡队列修改建议
    • 3.3 调整负载前后的 CPU 使用对比
    • 3.4 网卡中断均衡
      • 3.4.1 netdev_max_backlog
      • 3.4.2 中断绑核
    • 3.5 CPU性能模式
    • 3.6 热管理
    • 3.7 调整接收发送缓存
  • 4 示例
    • 4.1 现状
    • 4.2 调整措施

1 背景

通信模组会与Host搭配组成CPE/ODU/IDU等整机形态使用。在整机吞吐率测试中,经常会各种原因导致的速率不达标问题,下面是一些速率优化建议。

2 高通平台软硬加速

高通IPQ系列上位机,支持NSS\SFE\PPE等加速。不同型号支持的加速方式也是不同的,下面是几种加速方式的介绍。

在这里插入图片描述
在这里插入图片描述

2.1 NSS

高通NSS(Networking Subsystem)是高通路由器平台中用于网络加速和数据处理的子系统,主要功能包括报文分类和硬件加速。
通过分类器(classifiers)判断哪些报文需要加速,符合条件的报文直接在NSS中以L2转发到目的端口,绕过Linux协议栈,降低CPU负载并提升传输效率。
通过NPU(Network Processing Unit)实现硬件级加速,与Linux协议栈并行处理数据包,显著提升网络吞吐量。 ‌
在这里插入图片描述
目前在IPQ807x、IPQ60XX和IPQ50xx上支持。

2.2 SFE

SFE(Shortcut Forwarding Engine)是高通推出的网络加速技术,通过优化数据转发路径减少延迟并提升传输效率。早期版本与多线、流控等功能存在兼容性问题,后续通过代码优化实现了与高恪固件的适配,支持多拨、智能流控等特性。开启SFE后,设备性能可提升2-3倍(如K2P机型可达600Mbps),但部分功能(如无线限速、固定流控)可能受限。 ‌

在这里插入图片描述
目前在IPQ95xx和IPQ50xx上支持。

2.3 PPE

PPE(Packet Processing Engine)是一个用于转发流量的硬件加速块。
在这里插入图片描述目前在IPQ95xx和IPQ53xx上支持。

3 CPU 负载均衡设置

3.1 启用内核 RPS&RFS 功能

RPS 全称是 Receive Packet Steering,在 2.6.35 进入 Linux 内核。这个 patch 采用软件模拟的方式,实现了多队列网卡所提供的功能,分散了在多 CPU 系统上数据接收时的负载,把软中断分到各个 CPU 处理,而不需要硬件支持,大大提高了网络性能。

RFS 全称是 Receive Flow Steering,它是用来配合 RPS 补丁使用的,是 RPS 补丁的扩展补丁,它把接收的数据包送达应用所在的 CPU 上,提高 cache 的命中率。

使用以下命令使能此功能,把 2 个网卡的负载分别调到 CPU3 和 CPU2 上:拆分 QMAP 包成单个IP 包 跑在 CPU3 上;提交 IP 包到内核协议栈 跑在 CPU2 上。PCIe 中断保持不变,承载在 CPU0 上。

echo 32768 > /proc/sys/net/core/rps_sock_flow_entries 
echo 8 > /sys/class/net/pcie_mhi0/queues/rx-0/rps_cpus
echo 4096 > /sys/class/net/pcie_mhi0/queues/rx-0/rps_flow_cnt 
echo 4 > /sys/class/net/pcie_mhi0.1/queues/rx-0/rps_cpus
echo 4096 > /sys/class/net/pcie_mhi0.1/queues/rx-0/rps_flow_cnt

3.2 网卡队列修改建议

如果PHY 支持多队列处理,建议将每个网卡平均分布到各核心,以便减小最终用户实际使用中的 CPU 负载情况。

如从图中可以看出当前只使用了 eth3、pcie_mhi0、pcie_mhi0.1 三个网卡。

在这里插入图片描述
eth3 RX 队列负载平衡调整

echo 0 > /sys/class/net/eth3/queues/rx-0/rps_cpus
echo 4096 > /sys/class/net/eth3/queues/rx-0/rps_flow_cnt 
echo 2 > /sys/class/net/eth3/queues/rx-1/rps_cpus
echo 4096 > /sys/class/net/eth3/queues/rx-1/rps_flow_cnt 
echo 4 > /sys/class/net/eth3/queues/rx-2/rps_cpus
echo 4096 > /sys/class/net/eth3/queues/rx-3/rps_flow_cnt 
echo 8 > /sys/class/net/eth3/queues/rx-3/rps_cpus

eth3 TX 队列负载平衡调整


文章转载自:

http://g1OiSGWp.bwjgb.cn
http://YdJUSzuY.bwjgb.cn
http://eK48MEWQ.bwjgb.cn
http://u13HnoaW.bwjgb.cn
http://dBIcIZy8.bwjgb.cn
http://L9omg7OQ.bwjgb.cn
http://HSJMkA2d.bwjgb.cn
http://rpCs6cpI.bwjgb.cn
http://paIMPSDh.bwjgb.cn
http://oGbJv2HY.bwjgb.cn
http://swQaSve9.bwjgb.cn
http://UajsdM48.bwjgb.cn
http://MWsnjtaf.bwjgb.cn
http://ZGIkO3Fk.bwjgb.cn
http://RNF4AaeN.bwjgb.cn
http://qV46TDRV.bwjgb.cn
http://XatDElNM.bwjgb.cn
http://I0YILwiF.bwjgb.cn
http://Z6Fd5QeO.bwjgb.cn
http://A8bSUf0m.bwjgb.cn
http://swGJisW2.bwjgb.cn
http://lXGyQ4x4.bwjgb.cn
http://t5a3l84R.bwjgb.cn
http://5dn4Wwby.bwjgb.cn
http://M5GM9fzm.bwjgb.cn
http://8ko2mCA7.bwjgb.cn
http://C28R2RPZ.bwjgb.cn
http://e6HTHncJ.bwjgb.cn
http://bXpEnaNq.bwjgb.cn
http://uj48rErY.bwjgb.cn
http://www.dtcms.com/a/384862.html

相关文章:

  • Redis 实战指南:数据库选型 + 高可用(主从 / 哨兵)+ 集群搭建
  • 进程与线程:从入门到精通
  • Android 项目:画图白板APP开发(八)——Matrix位移放大缩小(附demo)
  • 【大前端++】【混合开发】【node】express 文件服务器本地搭建-模拟加载图片使用
  • 如何启动Greenplum中的某个segment
  • 校验用户身份是否过期,是否存在等等JWT
  • Docker 多阶段镜像构建与缓存利用性能优化实践指南
  • Jenkinsfile配置【1】
  • 2025年渗透测试面试题总结-72(题目+回答)
  • 网络安全相关搜索引擎
  • 【Unity性能优化——Stats面板】
  • 【05】AI辅助编程完整的安卓二次商业实战-消息页面媒体对象(Media Object)布局实战调整-按钮样式调整实践-优雅草伊凡
  • AI如何赋能跨境支付,亚马逊云科技与PayerMax的联合探索
  • PAT乙级_1125 子串与子列_Python_AC解法_含疑难点
  • 华清远见25072班网络编程学习day6
  • 国标GB28181视频平台EasyGBS国标GB28181软件与公安数字化安防技术衔接方案
  • 我的Web开发实践笔记:从编码设置到项目运营
  • Regression Trees|回归树
  • [数据结构——Lesson14.快速排序]
  • 城乡供水一体化智慧水务管理系统方案——推动供水高质量发展的御控工业物联网解决方案
  • 云上安全的第一道门槛:身份与访问控制
  • Blender MCP—基于AI代理的智能三维建模协同框架
  • 从零开始打造复杂动作网页:现代CSS3动画与JavaScript交互完全指南
  • 基于 OpenCV 实现实时文档扫描:从轮廓检测到透视变换全流程解析
  • Qt 系统相关 - 事件2
  • iTwinjs GeoLocation
  • 【氮化镓】C缺陷络合物导致的GaN黄光发射
  • Docker 下部署 Elasticsearch 8 并集成 Kibana 和 IK 分词器
  • 机器学习-第一章
  • 【Java EE进阶 --- SpringBoot】SpringBoot配置文件