5 鲲鹏应用性能优化:23
6 鲲鹏应用开发实践:7
1 鲲鹏应用性能优化:
1 CPU内存优化:
NUMA:Non Uniform Memory Access
非统一内存访问架构(NUMA)是一种计算机内存设计,用于多重处理,其中内存访问时间取决于内存相对于处理器的位置。处理器可以利用NUMA的优势,优先访问本地内存(速度更快),而不是访问非本地内存(这意味着它不会访问另一个处理器的本地内存或处理器之间共享的内存)。
NUMA-AWARE亲和性资源,比较合理的规划是:优先使用本NUMA节点内存
NUMA-AWARE亲和性资源优化,主要是为了:减少内存访问时延。
0 下面哪个方法,不属于CPU/内存调优手段?修改文件系统参数
正确:
调整内存大小;
开启或关闭CPU预取;
减少跨NUMA访问内存。
1 以下哪个不属于NUMA架构的特点:每个核都是对等的,所有的核通过总线访问所有
正确:
内存在物理上是分布式的;
非统一内存访问;
不同的核,访问不同内存的时间不同
2 以下哪个不是毕昇编译器,性能优化的方法?GC优化
正确:
高性能编译算法;
加速指令集;
AI迭代调优
1 软件加速库:GLibc、AVX2Neon、HyperScan
1 软件加速库-GLibc:
2 软件加速库AVX2Neon:
AVX2Neon是一款接口集合库,它将AVX指令封装成独立的接口模块,在多媒体、机器学习等需要SIMD指令加速的场景中,自动使用NEON替换对应的AVX
AVX2Neon使用方式:
方式一:适配函数以头文件方式集成到Porting Advisor工具,通过工具识别迁移点,并提供一键式快速迁移(将依赖Intellintrinsic的应用快速迁移到鲲鹏生态)
方式二:鲲鹏开发人员通过开源社区下载AVX2Neon源码,集成到自己的软件中
3 软件加速库HyperScan,错误的是:块匹配模式是网络场景下跨报文匹配设计的特殊匹配方式
基于官网5.2.0版本优化,使用ARM Neon指令加速。使用数据预取、分支预测、结构重排及循环展开等多种优化手段实现加速。
2 压缩库 Snappy、ZSTD、GZIP:
类别 |
代码仓 |
链接 |
开发者贡献方法 |
硬加速库KAE |
KAEdriver |
GitHub - kunpengcompute/KAEdriver: Driver for Kunpeng Accelerator Engine (KAE) |
通过github平台fork项目,修改代码并提交PR,成为项目的contributors |
KAE |
GitHub - kunpengcompute/KAE: A high-performance hardware acceleration algorithm library of OpenSSL engine based on Kunpeng processor |
||
KAEzip |
https://github.com/kunpengcompute/KAEzip |
||
软加速库 |
AvxToNeon |
GitHub - kunpengcompute/AvxToNeon: Encapsulate the frequently used AVX instructions as independent modules to reduce repeated development workload. |
|
hyperscan |
https://github.com/kunpengcompute/hyperscan |
||
snappy |
GitHub - kunpengcompute/snappy: A fast compression/decompression library |
||
gzip |
GitHub - kunpengcompute/gzip: GNU Gzip with Kunpeng optimization. |
||
zstd |
https://github.com/kunpengcompute/zstd |
2 基于磁盘和网络的内存优化:
1 磁盘预取可以充分利用磁盘带宽,在高频率顺序读场景,可以提高cache命中率;
2 网卡中断产生频率会影响应用的吞吐和延迟。
降低网卡中断触发频率,可能会导致数据包接发收时延提高。
3 调整网卡中断聚合,可以提高或降低网卡中断产生的频率,在低时延和高吞吐取平衡点
Frames=3:收到3个包产生一个硬中断
Usec=5:每隔5s产生一个硬中断
将网卡eth1的终端模式设置为每隔5微秒,产生一次硬中断:ethtool -C eth1 tx-usecs 5
将网卡eth1的终端模式设置为每隔3个包,产生一次硬中断:ethtool -C eth1 tx-frames 3
4 多队列网卡 - 网卡中断绑核
5 鲲鹏调用哪个库进行压缩硬加速?ZLib
3 应用层性能优化:软件调优的本质是充分发挥硬件性能
多核CPU,提高并发:
大内存,数据缓存:
磁盘,异步读写:
对磁盘带宽有限而引起的读写阻塞,可使用异步IO读写的方法,可以减少磁盘IO的等待,达到提高性能的效果
1 锁机制:哪个应用层优化可以避免内存伪共享:大锁变小锁
2 Cache:
3 通过锁机制提高并发案例 - Tcmalloc锁优化
4 下列哪项不是在性能调优前必须要做的步骤:通过华为鲲鹏HCIP认证
性能调优前必须要做的:
保证客户端与服务端之间的组网不是瓶颈;
保证组件依赖的物理资源已经充分分配;
保证客户端压力足够大
4 鲲鹏解决方案
1 数据库性能优化
1 查看MySQL数据库运行过程中的热点函数来定位数据库瓶颈:perf
2 大数据性能优化
1 下列哪些不是大数据调优的原因?数据存储类型需要适配
属于大数据调优原因:
性能瓶颈因硬件配置而异,需根据实际硬件配置进行针对性的调优;
上下游组件的资源需要合理配置;
组建参数的默认值保守
2 HBase调优参数举例子:哪个参数能决定分配给Container的内存:
yarn.nodemanager.resource.memory-mb
其他:
3 以下哪项不是鲲鹏Spark算法库的优化思路?使用毕昇JDK
正确的是:
增大并行任务数量;
充分发挥内存空间优势;
降低算法复杂度
3 分布式存储性能优化
1 分布式存储适用场景
2 不会影响分布式存储(Ceph)性能因素: GPU
会影响性能:
3 分布式存储性能调优:
调优方向 |
具体调优措施 |
可解决的性能问题表现 |
CPU |
CPU设置性能模式 |
CPU计算能力提升 |
业务进程绑核 |
减少进程上下文切换的频率 |
|
KAE硬件加速库使能 |
卸载部分CPU算力到加速器 |
|
磁盘 |
使用nvme盘做db/wal元数据加速 |
元数据访问频率高导致整体性能差 |
网络 |
网卡中断绑核 |
网络中断在各个cpu之间均衡 |
网卡组bond |
提升网络整体带宽 |
|
应用 |
Ceph配置参数 |
1、设置进程最大使用上线 2、关闭debug日志记录消耗 3、全闪存每个nvme上部署多个进程 4、设置较多的pg数量 |
4 以下哪个工具,可以监控网卡流量:sar
5 其他
1 下面哪个工具,可以用来收集热点函数:perf
2 下列哪个技术,可以使单个指令的执行时间,缩短到一个时钟周期?流水线
6 多选
1 HyperScan加速库的应用场景包含哪些?
入侵检测系统;
DPI解决方案;
互联网营销;
网络威胁检测
2 MySQL数据库在鲲鹏平台上,有什么优化手段?
关闭SMMU;
关闭预测;
网卡中断绑核(关闭irqbalance)
3 KAE支持的加解密算法:SM3/SM4
4 传统应用扩展性差,因此可用性和并发性都不高。可以使用分布式应用的哪些方式来解决这些问题?
数据池;
数据多副本;
主备HA;
分库
5 分布式存储支持的数据场景包括:全闪存(热数据)、均衡型(温数据)、容量型(冷数据)
分布式存储全闪存的特点:
6 均衡性、容量型特点:
7 分布式存储提供的主要服务类型:
块存储;
对象存储;
文件存储
8 云为企业带来了哪些挑战?
企业的系统架构;
企业的研发模式;
企业的商业模式
9 关于KAE加速库,描述正确的是:
KAE适用场景包括EB和分布式存储;
KAE加解密是鲲鹏加速引擎的加解密模块,KAEZip是鲲鹏加速引擎的压缩模块;
KAE加速库不包含对称加密
10 华为D310视频转码方案具备哪些优势?
高性能;
首帧时延低;
单路帧率文章来源:https://www.toymoban.com/news/detail-774618.html
文章来源地址https://www.toymoban.com/news/detail-774618.html
11 华为D310视频转码方案中,支持的编码技术有哪些?X264/X265
12 加速库性能优化方法,包括:分支预测、数据预取、使用neon指令加速
13 目前市场上主流的转码方案有哪些?FPGA转码、GPU转码、CPU转码、AI转码
14 鲲鹏提供了哪几种类型的加速库?多媒体加速;基础加速、加解密加速;压缩加速
15 视频转码的应用场景有哪些?VDI/直播、视频会议、点播
16
到了这里,关于3 华为鲲鹏HCIP-性能优化23+开发实践7的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!