掌握将Excel文件转换为PDF的简单高效方法
1484
2022-05-28
基于硬件特性的性能调优方向
1. 基于硬件特性的性能调优方向
1.1 从冯诺依曼架构看性能调优方向
1.2 基于鲲鹏处理器的软加速和硬加速(CPU/内存)
编译器:基于鲲鹏芯片微架构,构建鲲鹏极致性能和完善生态
基于硬件特性的性能调优方向
1. 基于硬件特性的性能调优方向
1.1 从冯诺依曼架构看性能调优方向
1.2 基于鲲鹏处理器的软加速和硬加速(CPU/内存)
编译器:基于鲲鹏芯片微架构,构建鲲鹏极致性能和完善生态
NUMA是CPU发展的一种必然趋势
在SMP系统中,核数的扩展收到内存总线的限制。非统一内存访问架构(Non-uniform memory access)很好的解决了这一问题
发挥NUMA性能,需要克服服内存访问速度不均匀的挑战 【内存在物理上是分布式的,不同的核访问不同内存的时间不同】
NUMA-Aware亲和性资源规划,让内存访问最短路径 【利用CPU亲和性与内存分配策略,让进程与内存的距离更“短”】
Nginx绑核优化举例(将Nginx进程分不到各个NUMA node之内,让系统整体的负载比较均衡,按照中断号将中断服务核Nginx绑定在一个NUMA内。性能将会有非常明显的提升)
基于鲲鹏技术优势构建加速库,实现软硬加速互补
软硬加速库相结合,构筑鲲鹏高性能软件栈
调用鲲鹏RSA加密加速引擎,提升Web应用Https性能
1.2 文件系统决定了磁盘加载到内存过程的快慢(磁盘)
磁盘预取可以充分利用磁盘带宽
>适用于大数据读场景:Hibench测试spark,yarn-client模型,read_ahead_kb由128修改至4096,性能约提升10%
1.3 网卡中断产生频率会影响应用吞吐核延迟
调用网卡中断聚合,在低时延和高吞吐取平衡点
在数据库TPCC测试模型中降低网卡中断可以提升吞吐
>降低网卡中断频率,可以带来约10%的吞吐提升,但也会增加20%左右的延迟
1.4 软件调优的本质是充分发挥硬件性能
减少资源抢占,提升并行度,发挥多核性能优势
Tcmolloc通过减少内存分配中的锁以提升高并发下的性能
Mysql5.7.12内存对齐硬编码,导致伪共享
1.6 性能调优十板斧
2. MariaDB性能调优案例
性能调优三步法
2.1 MariaDB性能调优——监控
测试模型sysbench压测Maria DB10.3.8数据库,OLTP模型1:1读写
2.2 MariaDB性能调优——分析
当CPU是业务的性能瓶颈时,可以通过分析进程热点函数来寻找优化空间
对于本测试用例中的热点函数分析如下:随着并发线程数的增多,CPU的时间片集中在了锁的争抢中,这部分无用功造成了CPU资源的浪费
2.3 MariaDB性能调优——优化
3. 自研套件&开源工具
3.1 分析扫描工具(Dependency Advisor):提升软件移植分析效率和准确率
功能:分析移植软件包依赖库,评估可移植性;分析移植软件代码文件
3.2 代码迁移工具(Porting Advisor):准确定位代码修改点及修改指导
功能:分析软件源文件,提供代码移植指导报告
3.3 性能优化工具Tuning Kit:提升鲲鹏性能竞争力
功能:系统性能数据采集和分析,分析出系统性能指标,定位到瓶颈点及热点函数,给出调优建议
4. 性能优化工具Tuning Kit:提升鲲鹏性能竞争力
功能:软件运行状态下,通过采集系统数据,分析出系统性能指标,定位到系统瓶颈点或热点函数,给出调优建议
应用场景:客户软件在鲲鹏计算平台上运行时遇到性能或体验问题时,可用该工具来快速分析、定位及调优
解决痛点:解决客户软件运行遇到性能问题时凭人工经验定位困难、调优能力弱的痛点
华为鲲鹏性能优化工具是一个工具集,包含工具:系统性能优化工具、Java性能优化工具
系统性能优化工具为软件开发人员、系统管理员/POC人员提供两种维度的性能优化视角
4.1 性能优化工具(Tuning Kit):软件实现
系统性能优化工具从软件逻辑上分成 Analysis Server 和 Agent 两大部分
Analysis Server:主要作用是实现性能数据分析及分析结果呈现
Agent:主要作用是实现性能数据采集
4.2 性能优化工具(Tuning Kit):功能特性
系统级分析,包括:全景分析、系统资源调度分析和访存分析
进程级分析,包括:进行/线程性能分析、锁与等待分析
函数级分析,包括:C/C++程序分析、Java Mixed-Mode 分析
底层架构分析,包括:微架构分析,Miss事件分析
系统级性能分析定义为针对整个系统进行性能分析,包括发生在所有的硬件组件、整个软件栈和数据路径上的事件,这些事件都有可能影响性能。系统级性能分析包含以下功能:
底层架构级分析定义为采集整个系统(包括运行中的进程或直接启动的进程)的硬件PMU性能事件,然后按照CPU微架构的特点划分为不同层级及关键指标,提供用户快速定位当前应用在CPU上或者uncore上的性能瓶颈,更加方便地针对性地修改自己的程序,以充分利用当前的硬件资源
函数级性能分析定义为采集整个系统或指定进程(包括运行中的进程或直接启动的进程)的CPU Cycles性能事件,快速定位到热点函数,包括应用程序函数、模块函数与内核函数,以及能够定位到热点指令
5. 求助渠道&兼容性清单
5.1 鲲鹏社区:在线资源整合平台
鲲鹏社区访问地址:https://www.huaweicloud.com/kunpeng
5.2 鲲鹏小智:海量资源搜索,智能问答
智能小智访问路径:http://ic-openlabs.huawei.com/chat/
5.3 兼容性清单查询工具
兼容性清单访问路径:http://ic-openlabs.huawei.com/openlab/#/unioncompaty
5.4 访问入口信息
鲲鹏社区:https://www.huaweicloud.com/kunpeng
鲲鹏小智:http://ic-openlabs.huawei.com/chat/
鲲鹏开发套件
Dependency Advisor:https://www.huaweicloud.com/kunpeng/software/dependencyadvisor.html
Porting Advisor:https://www.huaweicloud.com/kunpeng/software/portingadvisor.html
Tuning Kit:https://www.huaweicloud.com/kunpeng/software/tuningkit.html
兼容软件:http://ic-openlabs.huawei.com/openlab/#/unioncompaty
应用性能调优 鲲鹏
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。