-
基于全新一代鲲鹏算力支持Z转码业务降本增效项目背景伴随直播、点播等业务快速兴起,所有互联网门户基本提供了相似能力。从本质看,基于流量广告变现的模式决定了互联网入口的业务形态。头厂商算力规模XX万到XXX万核水平,高性价比视频转码成为视频转码刚性诉求。业务部署架构以离线转码为例,通过转码服务器将主播原始视频在转码服务器进行格式和帧率转码,满足终端客户不同诉求,通过CDN进行分发。 对于实时性要求不高的场景,互联网厂商基于CPU软编算法实现码率、画质、带宽之间的平衡,同时满足客户业务弹性关键诉求。 基于鲲鹏CPU转码方案与关键优势1. 鲲鹏采用物理核高负载性能更加平稳 鲲鹏物理核独占计算单元、指令流水线,性能平稳无争抢、切换。从现网实际表现看,整机负载80%以上条件下,性能平稳,无掉帧等现象。与此同时物理核配套访存cache单元、访存带宽明显优于X86算力,倍增。最新一代鲲鹏CPU主频2.9GHz,性能问题,无降频。X86超线程核,内部通用计算单元、Cache,在高负载条件下存在性能降低或者波动 2. SVE矢量单元数量相比X86高1倍,性能更优 面向视频转码场景,本身是对帧内、帧间压缩。存在大量像素并行处理,基于CPU 矢量单元(单指令多数据)并行处理是业界性能加速的典型范式。由于鲲鹏采用物理核形式售卖,物理核单价相比X86超线程核更低。从矢量单元数量角度,每个鲲鹏物理核包含2个SVE矢量单元,每个X86超线程核1个AVX矢量单元。由于512位矢量运算降频问题,大量业务在128或者256位宽的矢量单元进行运算,因此在矢量运算部分,鲲鹏相比X86可以提升1倍性能。 3. H264/H265加速库+毕昇编译加速,释放鲲鹏算力优势,领先友商10%以上 总结:基于鲲鹏物理核优势,从矢量单元规模、高负载算力平稳性、场景化加速能力,鲲鹏在转码场景相比X86、友商ARM性能更优,同时鲲鹏目录价相比X86更优,是互联网头部厂商转码算力降本增效利器。
-
背景与挑战:web场景是互联网算力突破的广泛场景,主流开源web软件、框架已经支持了ARM生态。面向互联网web业务,鲲鹏如何相比X86构筑差异化竞争力,实现性价比的超越? 对于客户基于Nginx自建ELB典型场景,https短连接多、加解密CPU消耗占比高特征,是否存在软硬件协同优化手段和性能提升手段。 解决方案:以Nginx为例,核心的时延和吞吐在于https OpenSSL加解密过程。通过鲲鹏硬件实现加解密过程加速成为性能提升的关键路径。鲲鹏CPU从硬件设计角度内置硬件加解密单元KAE 云服务实例支持硬件KAE单元的虚拟化,支持kAE系列实例提供加解密关键能力。帮助客户自动完成启用kAE能力相关配置。该单元支持典型的加密算法: 云服务使能KAE license, 基于硬件SR-IOV虚拟化提供kAE系列实例。兼容OpenSSL标准接口,应用层调用无修改。 以Nginx为例,全栈加速能力如下: 业务效果1) 实测相比X86 CPU性能提升60%~70%。客户已广泛使用。2) 目前网络ELB服务已经全面配套鲲鹏kAE2实例,实现业务降本XX%。总结与展望: 鲲鹏算力需要结合细分场景、鲲鹏硬件优势、生态加速能力持续构筑差异化竞争力。在最大规模互联网场景上大胆进行系统取舍和业务创新。 在后摩尔定律,工艺红利、封装红利逐步消失。 面向领域的指令执行效率是未来提升性能和性价比的关键路径。kAE单元通知支持压缩、解压缩能力,面向大数据场景同样具备性能优势和收益。
-
1. AI火热的大背景下,公共模型与私有模型的发展之路在人工智能快速发展的当下,公共模型与私有模型正朝着不同但又相互补充的方向发展:公共模型的发展趋势:a) 性能持续提升与架构创新:公共模型将不断追求性能的提升,通过架构创新来实现智能和成本之间的平衡。如混合专家模型(MoE)架构已被广泛应用,未来会有更多类似的架构创新,使公共模型在处理不同任务时能更高效地激活部分参数,减少计算资源的浪费,提高推理效率。b) 开源生态的繁荣与社区协作加强:开源公共模型的发展将更加迅速,像 Hugging Face 这样的平台将汇聚更多的开发者,他们会基于开源模型创建越来越多的衍生产品,推动公共模型在更多领域的应用和性能提升。社区协作也将加强,通过共享代码、交流心得,共同解决公共模型面临的问题,如安全性问题等。c) 与私有模型融合互补:公共模型不会完全替代私有模型,而是与私有模型相互融合。企业可能会在一些通用任务上使用公共模型,而在涉及敏感数据或特定业务场景时,结合私有模型进行补充,通过构建生成式 AI “协调层”,调用完成任务的最佳模型。私有模型的发展趋势:a) 数据安全与隐私保护驱动增长:对于金融、医疗、政务等对数据安全和隐私保护要求较高的行业,私有模型将得到更广泛的应用。企业和机构会倾向于将 AI 系统部署在自有服务器上,确保敏感数据在内部处理和存储,避免数据泄露风险。b) 定制化需求推动行业专用模型发展:企业为了更好地满足自身特定业务场景的需求,会越来越多地选择定制化的私有模型。通过结合自身的业务流程、数据特点等,对模型进行微调或重新训练,使私有模型在垂直领域的应用更加精准和高效,如按照品牌风格撰写广告文案、特定行业的数据分析等任务。c) 降低成本与提高效率的技术探索:虽然私有模型的初始投资较大,但企业会不断探索降低成本和提高效率的方法。例如,采用更高效的硬件架构、优化模型训练和推理算法等,同时,随着技术的发展,一些开源的模型开发工具和框架也将为私有模型的建设提供更多的便利,降低开发和维护成本。2. 基于鲲鹏云服务器构建普惠AI推理小模型私有模型发展道路上的困难: 对于中小企业而言,在私有模型算力底座的搭建上正面临两难困境:若基于 GPU/NPU 卡自建,初始投入动辄数十万甚至上百万,成本门槛极高,对资金实力有限的中小企业构成沉重负担;而若转向公共模型,又因业务数据敏感(如客户信息、交易数据等),存在数据泄露风险,难以满足隐私保护需求。更突出的矛盾在于,中小企业业务场景相对简单、团队规模有限,即便勉强承担成本搭建了私有算力底座,其实际业务对算力的需求往往远低于底座的承载能力,最终导致硬件资源闲置与资金投入的双重浪费,陷入 “不用公共模型怕泄密,自建私有模型又用不起、用不完”的困境。 开源技术栈 + 华为云能力:赋能鲲鹏云服务器快速构建专属 AI-Agent通过深度集成开源技术栈与华为云核心服务能力,可助力客户基于鲲鹏云服务器,以快速、便捷的方式搭建专属 AI-Agent 解决方案,大幅缩短从方案设计到落地应用的周期。具体落地层面,方案依托鲲鹏云稳定、高效的算力支撑,深度整合Ollama deepseek-r1:7b 模型与Dify 编排推理平台两大核心组件,为 AI 应用开发者打造了一套 “开箱即用” 的一站式开发环境。开发者无需投入大量精力进行底层技术适配与平台搭建,即可直接基于该环境完成模型调用、流程编排、功能调测等全环节操作,且整体方案具备高性价比优势,有效降低开发成本。基于此环境,开发者能够轻松实现多样化知识问答类应用的全流程开发与落地,例如企业智能客服系统(自动响应客户咨询)、个性化教育助手(定制化答疑辅导)、专业领域知识库(如医疗、法律行业知识查询)等,高效满足不同场景下的 AI 应用需求。 鲲鹏 kX1 实例 + HCE OS:低成本承载 DeepSeek 7B 小模型推理基于“鲲鹏 kX1 实例 + HCE OS”架构部署 DeepSeek 7B 小模型,可实现8 tokens/s 的推理性能。尽管相较于 GPU 实例,该性能在绝对数值上存在一定差距,但从实际业务场景出发,8 tokens/s 的吞吐速度完全能够满足智能问答类场景的交互需求 —— 无论是用户日常咨询、信息查询,还是基础问答服务,均能保障流畅的响应体验。更核心的优势在于其极致的成本控制:方案起步成本仅需300 余元 / 月,大幅降低了小模型推理场景的落地门槛,为追求高性价比的客户(如中小企业、个人开发者)提供了一套兼顾性能与成本的优质解决方案,助力其以低投入快速实现 AI 能力的部署与应用。 基于鲲鹏云服务器的 7B/14B 小模型:低成本赋能 AI 实践与行业智能化依托鲲鹏云服务器构建的 7B、14B 量级小模型,凭借 “轻量化部署 + 低门槛成本” 核心优势,精准覆盖两类核心用户群体,为不同场景下的 AI 应用落地提供高效解决方案:一、赋能人工智能从业者,加速创意验证与技术实践针对提示词工程师、AI 产品经理等 AI 领域从业者,该小模型可打造轻量化推理验证环境。其核心价值在于:低成本启动:以每月百元级的起步成本,大幅降低个人技术实践门槛,无需承担高额硬件投入即可拥有稳定的模型运行环境;高效兑现创意:搭配已完成调优的模型编排工具,从业者能快速将 AI 应用构想转化为可验证的原型,高效测试功能可行性、优化交互逻辑,实现 “小成本投入,大体验落地”,助力个人技术能力提升与创意迭代。二、服务中小企业,推动行业场景智能化升级面向驾校、律所等中小企业,该小模型可结合行业需求构建专属智能系统,解决企业数字化转型中 “成本高、落地难” 的痛点。驾校场景:低成本搭建科目一、科目四智能学习系统,企业可根据学员规模灵活选择模型数量,起步投入低、资源粒度可控,既能精准匹配教学需求,又能有效控制预算,提升学员学习效率与驾校教学服务质量;律所场景:集成专业法律知识库后,可快速构建自动法务咨询系统,实现常见法律问题的智能应答,减少人工咨询压力,降低企业人力成本,同时为客户提供 7x24 小时高效响应服务,提升律所服务效率与市场竞争力。 总结人工智能的未来,绝不局限于模型本身的迭代优化,也不止于算力的单纯升级 —— 更关键的是基于模型的上层应用创新。这种创新需要成千上万的开发者与 AI 从业者共同探索,但当前高昂的入门成本,却在无形中阻碍了探索的脚步。而依托鲲鹏 CPU 算力构建的普惠 AI 推理开发平台,正为这一困境提供了破局之道:它以更低廉的成本,为开发者们提供了切实有效的实践载体,让更多人能够轻松迈入 AI 应用创新的门槛,释放创造力。
-
背景: 业界算力按着类型分类包含通算、智算、超算。 云超算是云上关键负载类型,基于Hyperion-Research数据,全球云HPC算力占HPC总空间17%,5年平均增长率17.6%。 包含典型负载工业、科研、气象、能源、制药、金融、生命科学、渲染等广泛场景。芯片仿真作为其中一个细分场景,伴随国家芯片工业崛起,算力诉求持续增长,是未来云超算增长的关键机会和方向。 关键挑战: 芯片仿真算力成本占比较低,相比线下定制硬件如何提供足够的性能、效率,满足客户业务效率即仿真时长诉求是上云的关键。同时芯片仿真是数据敏感型业务,如何切入场景打消客户顾虑是关键挑战。 场景切入选择: 从芯片设计制造环节看,包含芯片设计、生产制造、测试过程。 越向前端数据敏感型越高,对应上云的意愿相对低。制造和测试环境相对数据敏感型更低,上云难度更小。 其中对于算力有强烈诉求的阶段,包含OPC、良品分析等过程。 这部分算力诉求和芯片的工艺、芯片晶体管密度直接相关,伴随国产芯片崛起,这部分算力持续增长。例如:OPC场景(光学畸变矫正仿真), 通过大量的计算仿真,弥补矫正掩膜版,最终实现设计与实际芯片预期一致。 再比如: 良品率检测,通过采集晶圆的图像信息,识别每个单元的良品情况。 容易理解,芯片复杂度、工艺水平直接决定了算力规模诉求。 解决方案: 1)从基础算力角度,选择高主频通用算力,结合生态兼容性可以选择X86、鲲鹏算力。 基于物理核、动态关核提升单核睿频3.6GHz+,单核内存带宽、OS性能优化、RDMA 7us低时延网络满足仿真高性能诉求。 即保障云上资源、算力统一,同时满足云上单核高性能诉求。2)头结点大内存容量诉求,可以选择M系列、E系列算力。基于400Gbps组网支持头结算任务的快速分发和收据收集,提升集群仿真训练效率。3)从调度器角度,可以选择Slum 或者多瑙等调度器,实现资源灵活。满足万核、十万核、乃至百万核集群调度和任务管理诉求。4)基于网络和LandingZone能力组合满足客户数据安全、传输安全。实现事前可控、事中可视、事后可审。5) 基于SFS Turbo,提供百万IO,20G带宽,1~2ms低时延高性能存储。 展望: 面向国产化芯片仿真,需要结合公司芯片积累,繁荣国产生态。面向HPC场景加速服务化能力构筑。提供一站式服务。结合灵衢关键能力,持续提升网络吞吐、降低时延,提升大规模集群线性度。
-
随着国产化替代浪潮的推进,鲲鹏处理器作为自主研发的高性能架构,与开源数据库 OpenGauss 的组合已成为企业级应用的核心选择。OpenGauss 作为华为主导的分布式关系型数据库,天然适配鲲鹏架构的 ARM 指令集,在性能优化、安全特性、高可用设计上深度协同。本文将从架构适配原理出发,详细讲解 OpenGauss 在鲲鹏环境下的部署流程、性能调优技巧及生产环境实践经验,助力企业快速落地国产化数据库方案。一、架构适配:为什么 OpenGauss + 鲲鹏是黄金组合?1.1 指令集深度协同鲲鹏处理器基于 ARM v8 架构,采用精简指令集(RISC)设计,具备低功耗、高并发、多核优势;而 OpenGauss 从内核层面针对 ARM 架构进行了指令优化,包括:汇编级指令替换:将热点函数(如数据加密、哈希计算)用 ARM Neon 指令重写,提升计算效率;内存访问优化:适配鲲鹏的三级缓存架构,优化数据预取策略,减少缓存命中率低的问题;多核调度适配:针对鲲鹏处理器的多 NUMA 节点设计,优化线程亲和性,避免跨节点调度开销。1.2 国产化生态闭环OpenGauss 作为开源国产数据库,与鲲鹏架构、欧拉(openEuler)操作系统共同构成 "芯片 - 操作系统 - 数据库" 的国产化生态闭环。该组合通过了严格的兼容性测试,在政务、金融、能源等关键领域已大规模落地,具备完善的技术支持和生态保障。1.3 核心优势互补特性鲲鹏架构贡献OpenGauss 数据库贡献性能多核高并发、硬件加速(如 AES)分布式架构、查询优化器、列存引擎安全硬件级可信执行环境(TEE)透明加密、访问控制、审计日志高可用双路 / 四路服务器冗余设计主备复制、故障自动切换、数据备份扩展性支持 CPU 扩展至 128 核以上水平分库分表、分布式事务 二、部署前准备:环境规划与依赖检查2.1 硬件环境要求(生产级配置)组件最低配置推荐配置CPU鲲鹏 920 2.6GHz(8 核 16 线程)鲲鹏 920 2.6GHz(32 核 64 线程)内存32GB(主备模式)128GB(分布式模式)存储SSD 500GB(系统盘)+ HDD 2TB(数据盘)NVMe SSD 1TB(系统盘)+ SAS 10TB(数据盘,RAID 5)网络千兆以太网25Gbps InfiniBand(分布式集群)操作系统openEuler 22.03 LTS(ARM64)openEuler 22.03 LTS(ARM64) 2.2 软件依赖安装OpenGauss 依赖以下组件,需提前在鲲鹏服务器上安装: # 1. 安装基础依赖包yum install -y gcc gcc-c++ make cmake zlib-devel libffi-devel openssl-devel libuuid-devel# 2. 安装Python 3.8+(OpenGauss管理工具依赖)yum install -y python3 python3-devel python3-pip# 3. 安装libatomic(ARM架构必需,原子操作支持)yum install -y libatomic# 4. 关闭防火墙和SELinux(生产环境可配置白名单)systemctl stop firewalld && systemctl disable firewalldsed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/configsetenforce 0 2.3 系统参数优化(关键步骤)为适配 OpenGauss 的运行需求,需调整鲲鹏服务器的系统参数,编辑/etc/sysctl.conf: # 编辑系统参数配置文件vim /etc/sysctl.conf# 添加以下配置(针对鲲鹏ARM架构优化)net.ipv4.tcp_max_tw_buckets = 10000net.ipv4.tcp_tw_reuse = 1net.ipv4.tcp_tw_recycle = 1net.ipv4.tcp_syncookies = 1net.core.somaxconn = 65535net.core.netdev_max_backlog = 65535net.ipv4.tcp_max_syn_backlog = 65535vm.swappiness = 10 # 减少内存交换,提升性能vm.dirty_ratio = 30vm.dirty_background_ratio = 10kernel.shmmax = 68719476736 # 共享内存最大值(建议为物理内存的50%)kernel.shmall = 16777216# 生效配置sysctl -p 同时调整文件描述符限制,编辑/etc/security/limits.conf: # 添加以下配置* soft nofile 65535* hard nofile 65535* soft nproc 131072* hard nproc 131072 三、OpenGauss 部署:主备模式实战(鲲鹏环境)OpenGauss 支持单机、主备、分布式三种部署模式,本文以生产常用的主备模式为例,讲解在两台鲲鹏服务器上的部署流程(主节点:192.168.1.10,备节点:192.168.1.11)。3.1 下载 OpenGauss 安装包从 OpenGauss 官网下载适配 ARM 架构的安装包(选择 openEuler ARM64 版本): # 创建安装目录mkdir -p /opt/opengauss && cd /opt/opengauss# 下载安装包(示例版本:3.1.0,需替换为最新版本)wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.0/x86_openEuler_64bit/opengauss-3.1.0-openEuler-64bit.tar.bz2# 解压安装包tar -jxvf opengauss-3.1.0-openEuler-64bit.tar.bz2 3.2 配置免密登录(主备节点互信)主备节点需实现 SSH 免密登录,确保安装脚本可跨节点执行: # 在主节点生成密钥对(无需设置密码)ssh-keygen -t rsa -P "" -f ~/.ssh/id_rsa# 将公钥拷贝到备节点ssh-copy-id -i ~/.ssh/id_rsa.pub root@192.168.1.11# 验证免密登录(无需输入密码即可登录)ssh root@192.168.1.11 3.3 编写部署配置文件创建cluster_config.xml配置文件,定义主备节点信息: <?xml version="1.0" encoding="UTF-8"?><ROOT> <!-- 全局配置 --> <CLUSTER> <PARAM name="clusterName" value="opengauss_cluster"/> <PARAM name="nodeNames" value="node1,node2"/> <PARAM name="gaussdbAppPath" value="/opt/opengauss/app"/> <PARAM name="gaussdbDataPath" value="/opt/opengauss/data"/> <PARAM name="gaussdbLogPath" value="/opt/opengauss/log"/> <PARAM name="dataBasePort" value="5432"/> <PARAM name="masterNode" value="node1"/> </CLUSTER> <!-- 主节点配置 --> <NODE name="node1" hostname="192.168.1.10" ip="192.168.1.10" azName="AZ1" azPriority="1"/> <!-- 备节点配置 --> <NODE name="node2" hostname="192.168.1.11" ip="192.168.1.11" azName="AZ1" azPriority="2"/></ROOT> 3.4 执行安装脚本 # 进入安装目录cd /opt/opengauss/opengauss-3.1.0-openEuler-64bit# 执行安装脚本(--help可查看参数说明)./install.sh -m primary -c ../cluster_config.xml -w 'OpenGauss@123'# 安装成功后,验证集群状态gs_om -t status --detail 3.5 安装验证 # 登录OpenGauss数据库gsql -d postgres -U gaussdb -h 192.168.1.10 -p 5432# 执行SQL查询,验证数据库状态SELECT version();SELECT node_name, node_role, node_state FROM pg_stat_replication; 若查询结果显示主备节点状态为Primary和Standby,且 replication 状态正常,则部署成功。四、性能调优:鲲鹏架构专属优化技巧4.1 数据库参数优化(postgresql.conf)针对鲲鹏处理器的多核、大内存特性,调整以下关键参数: # 编辑配置文件(主备节点需同步修改)vim /opt/opengauss/data/postgresql.conf# 核心优化参数max_connections = 8192 # 最大连接数(鲲鹏多核可支持更高并发)shared_buffers = 32GB # 共享内存(建议为物理内存的25%)work_mem = 64MB # 每个工作线程的内存(根据并发调整)maintenance_work_mem = 2GB # 维护操作内存(如索引创建)effective_cache_size = 96GB # 有效缓存大小(建议为物理内存的75%)wal_buffers = 16MB # WAL日志缓冲区checkpoint_completion_target = 0.9 # checkpoint完成目标(减少IO峰值)max_parallel_workers_per_gather = 8 # 每个查询的并行工作线程数(建议为CPU核心数的1/4)parallel_leader_participation = on # 领导者参与并行查询# 生效配置(无需重启数据库)gs_ctl reload -D /opt/opengauss/data 4.2 存储优化(针对鲲鹏服务器存储架构)使用 NVMe SSD 作为数据盘:鲲鹏服务器支持 PCIe 4.0 接口,NVMe SSD 可发挥最大 IO 性能,建议将数据目录和 WAL 目录分别挂载到不同的 NVMe SSD;关闭磁盘缓存刷新:在 RAID 卡配置中启用 "写缓存策略"(Write Back),提升写性能;文件系统选择:推荐使用 XFS 文件系统,格式化时指定-s size=4096(与鲲鹏处理器的内存页大小对齐)。4.3 网络优化(分布式集群场景)启用 RSS 中断均衡:鲲鹏服务器支持 RSS(接收端缩放),可将网络中断分散到多个 CPU 核心: # 启用RSSethtool -C eth0 rx-usecs 100ethtool -K eth0 rxvlan on 调整 TCP 参数:优化网络连接稳定性和吞吐量(已在部署前配置);使用 InfiniBand 网络:分布式集群建议采用 25Gbps 以上的 InfiniBand 网络,降低节点间通信延迟。4.4 性能测试验证使用gs_perf工具测试优化后的性能(对比优化前后的 TPCC、TPC-H 指标): # 执行TPCC测试(1000仓库规模)gs_perf -M tpcc -D testdb -U gaussdb -w 'OpenGauss@123' -s 1000 -c 64# 执行TPC-H测试(100GB数据量)gs_perf -M tpch -D testdb -U gaussdb -w 'OpenGauss@123' -s 100 -c 32 在鲲鹏 920 32 核服务器上,优化后 OpenGauss 的 TPCC 吞吐量可提升 30% 以上,TPC-H 查询延迟降低 20% 左右。五、生产环境实践:高可用与运维最佳实践5.1 主备切换实战OpenGauss 支持自动故障切换,也可手动触发切换: # 手动切换主备节点(在备节点执行)gs_ctl switchover -D /opt/opengauss/data# 切换后验证状态gs_om -t status --detail 5.2 数据备份与恢复 # 全量备份gs_basebackup -D /opt/opengauss/backup -h 192.168.1.10 -p 5432 -U gaussdb -F p -X stream -P -v# 恢复数据(需停止数据库)gs_ctl stop -D /opt/opengauss/datarm -rf /opt/opengauss/data/*gs_basebackup -D /opt/opengauss/data -h 192.168.1.10 -p 5432 -U gaussdb -F p -X stream -P -v -Cgs_ctl start -D /opt/opengauss/data 5.3 监控告警配置启用内置监控工具:OpenGauss 提供gs_monitor工具,可监控数据库状态、性能指标: gs_monitor -d postgres -U gaussdb -h 192.168.1.10 -p 5432 -w 'OpenGauss@123' -t 30 集成 Prometheus+Grafana:通过 OpenGauss 的导出器(exporter)将指标接入监控系统,配置 CPU、内存、IO、连接数等告警阈值。5.4 安全加固修改默认密码:生产环境需定期更换数据库管理员密码,复杂度需满足大小写字母 + 数字 + 特殊字符;配置访问控制:通过pg_hba.conf限制允许访问的 IP 地址: vim /opt/opengauss/data/pg_hba.conf# 添加白名单配置host all all 192.168.1.0/24 md5 启用透明加密:OpenGauss 支持数据文件透明加密,需在部署时指定加密密钥。六、常见问题与排查方案6.1 安装失败:libatomic.so.1 缺失问题原因:鲲鹏 ARM 架构缺少原子操作库。解决方案: yum install -y libatomicln -s /usr/lib64/libatomic.so.1 /usr/lib/libatomic.so.1 6.2 主备同步失败: replication 连接超时问题原因:防火墙未开放 5432 端口,或网络延迟过高。解决方案: # 开放端口(生产环境建议配置白名单)firewall-cmd --add-port=5432/tcp --permanentfirewall-cmd --reload# 检查网络延迟ping 192.168.1.11 -c 10traceroute 192.168.1.11 6.3 性能瓶颈:CPU 使用率过高问题原因:SQL 语句未优化,或并行查询参数配置不合理。解决方案:用gs_top查看占用 CPU 较高的会话和 SQL;优化 SQL 语句(添加索引、调整 join 方式);降低max_parallel_workers_per_gather参数,避免并行查询占用过多 CPU。七、展望OpenGauss 在鲲鹏架构下的部署与优化,核心在于架构协同和参数适配。通过本文的部署流程、优化技巧和实践经验,企业可快速搭建稳定、高性能的国产化数据库环境。随着 OpenGauss 4.0 版本的发布,其在分布式事务、HTAP 混合负载、AI 优化等方面的能力将进一步增强,与鲲鹏架构的协同效应也将更加显著。在国产化替代的大趋势下,掌握 OpenGauss + 鲲鹏的组合技术,不仅能提升企业 IT 架构的自主可控性,还能获得性能与成本的双重优势。建议运维和 DBA 人员深入理解两者的架构特性,结合业务场景进行针对性优化,充分发挥国产化软硬件的潜力。
-
案例介绍本案例通过常用的开发工具VS Code,通过cli直连云开发环境,实现本地代码编写调试,远程发布等功能。案例内容一、概述1. 案例介绍本案例选择VS Code作为开发工具,通过创建开发者空间云开发环境,并使用VS Code在本地进行代码编写调试,一键部署到云开发环境,让开发者以更符合自身开发习惯的作业模式体验华为开发者空间云开发环境。2. 适用对象企业个人开发者高校学生3. 案例时间本案例总时长预计60分钟。4. 案例流程说明:登录开发者空间云开发环境;本地下载cli文件;建立隧道连接云开发环境;通过VS Code完成代码编写调试发布。5. 资源总览本案例预计花费0元。资源名称规格单价(元)时长(分钟)华为开发者空间 - 云开发环境鲲鹏通用计算增强型 kc1 | 2vCPUs | 4G | HCE免费60二、环境配置1. cli方式创建云开发环境登录华为开发者空间,参考案例《华为开发者空间-云开发环境(虚机)CLI工具远程连接操作指导》完成“二. Web端创建和管理云开发环境”、“三. PC端创建和管理云开发环境中的1.开机、2.建立隧道连接”章节完成安装cli工具包、配置本地环境、创建云开发环境、开机、建立隧道连接的功能。 三、本地IDE直连云开发环境完成上传下载1. 下载VS Code 并安装 Remote-SSH 插件下载安装VS Code,官网链接 https://code.visualstudio.com/Download 。然后安装Remote-SSH插件,打开VSCode,在左侧点击“extensions”图标,在搜索框中搜索Remote-SSH,点击“install”进行安装。 安装成功之后,在左侧会显示一个远程链接图标。如下图所示:2. 连接云开发环境点击远程连接图标,新建远程连接。如下图所示: 在输入框中输入用户名和端口号,并回车。ssh -i "C:\Users\登录用户\.devenv\.ssh\IdentityFile\2689067ff1b24f87b24fc7581207445e" developer@127.0.0.1:1222注意:-i后跟的路径为该环境对应的私钥文件路径,需要替换为自己的路径;developer即为创建云开发环境时用户自定义的用户名,默认为developer;端口号即为步骤二环境配置中,连接云开发环境时,建立隧道所设置的本地监听端口号。选择保存配置文件并连接环境在右下角选择connect,如下如所示: 下载 VS Code Server连接远程开发环境成功,如下图所示: 3. 文件上传下载VSCode资源管理器-打开远程开发环境的目录。 上传一个文件,我们把本地一个测试文件拖拽到developer目录下,并用命令确认是否上传成功,结果显示如下: 下载文件类似,我们把远程开发环境的文件可以下载到本地,步骤如下: 四、本地IDE直连云开发环境完成代码开发1. 代码开发下面我们在VS Code上做一个代码运行,新建一个test文件夹,在test文件下建个Go文件夹,并建一个main.go的文件。将如下代码拷贝到main.go中: package mainimport ( "fmt" "io" "log" "net/http" "os" "time")func main() { // 注册处理函数到根路径 "/" http.HandleFunc("/", handler) // 获取端口参数,默认使用8080 port := ":8080" if len(os.Args) > 1 { port = ":" + os.Args[1] } // 启动 HTTP 服务器,监听指定端口 fmt.Printf("Starting server on http://localhost%s\n", port) err := http.ListenAndServe(port, nil) if err != nil { log.Println(err) }}// 处理 HTTP 请求func handler(w http.ResponseWriter, r *http.Request) { // 设置响应头内容类型为纯文本 w.Header().Set("Content-Type", "text/plain") // 处理 GET 请求 if r.Method == "GET" { fmt.Fprintf(w, "Hello, client! time: %v", time.Now().Format("2006-01-02 15:04:05")) return } // 处理 POST 请求 if r.Method == "POST" { body, err := io.ReadAll(r.Body) if err != nil { http.Error(w, "Failed to read request body", http.StatusInternalServerError) return } defer r.Body.Close() // 回显客户端发送的内容 fmt.Fprintf(w, "Received: %s", body) return } // 如果不是 GET 或 POST 请求,返回 405 Method Not Allowed http.Error(w, "Method Not Allowed", http.StatusMethodNotAllowed)}2. 项目编译打开远程终端。 使用命令进入到代码路径。cd test/go编译代码,依次执行如下命令:go mod init httpgo mod tidygo buildls./http3. 远程访问在浏览器通过本地端口访问:这样我们就可以在本地开发代码,直接编译并运行在远程开发环境上了!
-
应用程序原来使用 海思Hi616CPU环境,现在更换成鲲鹏920CPU环境 原来的程序可以直接切换到新的机器上吗 ,还是需要全部更换掉。从新购买
-
华为鲲鹏(Huawei Kunpeng)是华为公司基于自研的 ARM 架构处理器 打造的一系列计算产品和解决方案,是华为在信息技术领域推进 自主可控、安全可靠、高性能计算 的重要战略组成部分。一、鲲鹏的基本概念“鲲鹏” 最初指的是华为推出的一款 基于 ARM 架构的高性能服务器处理器,后来逐渐扩展为一个完整的 计算产业生态体系,包括:硬件:如鲲鹏系列服务器处理器(如鲲鹏 920)、TaiShan 系列服务器等;软件:如欧拉操作系统(openEuler)、GaussDB 数据库、昇思 MindSpore AI 框架等;云服务与解决方案:如华为云上的鲲鹏云服务;开发者生态与工具链:支持应用迁移、优化和开发,助力合作伙伴构建基于鲲鹏的产品。二、核心产品:鲲鹏处理器鲲鹏处理器 是华为自主研发的 服务器级 ARM 架构 CPU,其代表性产品是:鲲鹏 920(Kunpeng 920)发布时间:2019年架构:基于 ARMv8 指令集,华为自研设计制程工艺:7nm特点:高性能:多核设计,支持多达 64 核甚至更多,主频高,适用于大规模并行计算;高能效:相比传统 x86 架构服务器,在特定场景下功耗更低;面向大数据、分布式存储、ARM 原生应用等场景做了优化;应用领域:云计算、大数据、人工智能、边缘计算、电信与金融等行业核心业务系统。三、TaiShan 服务器华为基于鲲鹏处理器推出了 TaiShan 系列服务器,包括:TaiShan 200、TaiShan 5280 等型号主要用于:企业级数据中心政府、金融、电信、能源等关键基础设施对安全性、自主可控要求高的场景TaiShan 服务器通常搭载鲲鹏处理器,运行国产操作系统(如 openEuler),并适配国产数据库与中间件,形成完整的国产化信息技术解决方案。四、鲲鹏生态体系华为围绕鲲鹏打造了一个开放的 计算产业生态,目标是推动基于 ARM 架构的通用计算发展,主要举措包括:硬件开放:提供鲲鹏主板、服务器参考设计,让合作伙伴可以快速开发基于鲲鹏的产品;软件开源:如开源欧拉操作系统(openEuler)、数据库 GaussDB(部分开源)、AI 框架 MindSpore 等;使能伙伴:通过技术支持、培训、认证等方式帮助软件开发商、系统集成商迁移和优化应用,使其能在鲲鹏平台上高效运行;云服务支持:华为云提供 鲲鹏云服务,用户可以直接在云端使用基于鲲鹏的计算资源;开发者支持:提供编译器、工具链(如毕昇编译器)、迁移工具等,帮助开发者适配和优化应用。五、鲲鹏的战略意义自主可控:在当前国际环境下,鲲鹏作为国产化处理器,有助于减少对国外技术(如 Intel、AMD 的 x86 架构)的依赖;多样性计算:推动计算架构的多元化,与 x86 架构形成互补,满足不同场景的计算需求;国产信息技术体系:鲲鹏与欧拉、高斯、昇腾等一起,构成了华为推动的 “数字中国底座”,支撑政务、金融、能源等关键行业的数字化与安全需求;生态共建:通过开放合作,吸引全球和中国的软硬件企业加入,共同打造基于 ARM 的计算生态。六、简单类比(便于理解)可以把“鲲鹏”理解为华为版的“Intel/AMD 服务器芯片 + 与之配套的软硬件生态”。只不过:它基于的是 ARM 架构,而不是传统的 x86;它是由 华为自研,并且致力于构建一套 中国自主、安全、可控 的计算体系;不仅包括芯片,还涵盖了操作系统、数据库、云服务、工具链和开发者生态等。总结华为鲲鹏 是华为推出的基于 ARM 架构的 高性能服务器处理器及其计算生态体系,目标是推动国产化、自主可控的信息技术发展,构建面向未来的多样性计算生态。它不仅包括硬件芯片(如鲲鹏920),还包括 TaiShan 服务器、欧拉操作系统、数据库、云服务、开发者工具等,是华为在计算产业的重要战略布局之一。
-
2025年8月8日,华为云MaaS大模型即服务平台实践技术沙龙在九云科教集团成功举办。本次活动由华为云HCDG长沙核心组周毅、黄蓉发起,来自于北京并行科技、北京惠农通正、杭州泰师科技、湖南中科博远、湖南拓维信息、湖南科创信息等企业的30余位人工智能领域开发者齐聚一堂,活动围绕当前热门的MaaS平台展开深入讨论,共谋AI大模型的应用与发展。 长沙九云信息科技有限公司董事长高宏祥发表致辞,高度赞赏华为作为中国科技领军企业的担当精神,特别提到其自主创新的鸿蒙系统、昇腾AI等突破性成果。他希望与会开发者把握AI时代机遇,依托华为云等开放平台,共同探索智能教育、行业大模型等创新应用,推动AI生态高质量发展。 华为云DTSE技术专家分享了华为云在AI大模型和数字化转型的成功实践和技术积累,介绍了如何使用ModelArts Studio一站式大模型开发平台完成模型的训推与部署,结合平台提供的模型API、MCP、应用模板快速构建应用,实现行业应用的高效落地,并与企业开发者们深度探讨了平台底层能力。 华为云DTSE高级工程师在活动中,带领大家在华为开发者空间中体验了《基于DeepSeek和Dify构建心理咨询师应用》的案例,此案例使用Dify对接华为云MaaS平台,成功连接到基于昇腾训练的DeepSeek大模型,实现了心理咨询师应用的功能。这个案例的实操,让开发者了解到华为开发者空间为开发者提供的高效、稳定的开发环境,同时华为云MaaS平台作为Dify内置模型供应商,对接更加便捷。 华为云战略合作伙伴——金蝶软件的院校高级顾问杨名先生分享了“智联云途:华为云携手金蝶云苍穹探索智能时代新路径”主题演讲。金蝶云苍穹ERP深度融合华为云AI平台,通过技术共生、场景共创、生态共享,正在重塑企业数字化转型的路径。从底层架构的自主可控,到行业场景的深度渗透,再到开发者生态的繁荣,双方不仅为企业提供 “开箱即用” 的智能解决方案,更通过持续的技术创新与模式探索,引领智能时代的产业变革。这种 “云+端+AI”的协同模式,将成为推动中国企业数智化升级的核心引擎。 华为云伙伴——网久软件联合创始人&COO周建军先生分享了“基于华为云部署开源组件的方法”主题演讲,Websoft9 多应用托管与运维平台可以通过华为云商店一键购买并创建ECS实例,自动完成部署。支持多应用托管、可视化运维及资源扩展,10分钟内即可上线。 在集中讨论环节中,与会企业围绕MaaS平台、Agent开发技术、AI人才培养等展开深度交流。大家一致认为,MaaS平台通过提供预训练模型和低代码工具,可显著降低企业AI应用开发门槛;2025年被视为Agent技术商业化落地的关键元年,各行业都在积极探索智能体在业务流程优化、客户服务等场景的应用价值;而针对AI人才培养问题,与会代表建议通过校企合作建立实训基地,并开发体系化培训课程,重点培养既懂AI技术又熟悉行业应用的复合型人才,以支撑企业智能化转型需求。 华为云高级技术专家毛定宇为九云科教集团的产品总监周毅和运维部经理黄蓉,授予华为云开发者组织HCDG长沙站旗帜。这对于中部地区的开发人员来说是一个重要里程碑时刻,再次感谢长沙HCDG核心组成员们对于本次活动的辛勤付出和认真负责,相信长沙HCDG会在以后举办出更多有价值有意义的精彩活动、赋能越来越多的开发者。 HCDG(Huawei Cloud Developer Group 华为云开发者社区组织),是基于城市圈和技术圈,由开发者核心组自发开展的开放、创新、多元的社区技术交流组织。致力于帮助开发者学习提升、互动交流、挖掘合作,推动技术应用与本地产业结合、数智化转型和开发者文化发展。迄今为止,越来越多的社区和组织开始广泛的与HCDG进行密切的合作与往来,相信在今后的日子里,HCDG会以更加崭新的面貌出现在开发者视野中,我们期待越来越多优秀的开发者、创业者、运营人、产品人、老师、学生等加入到HCDG,让HCDG茁壮成长、遍地开花、节节高!
-
体验华为开发者空间鲲鹏系列案例,反馈改进建议,请直接在评论区反馈即可体验指导:案例中心
-
资源购买资源名称规格操作系统存储ECS鲲鹏通用计算增强型 km1.xlarge.4 4vCPUs 16GiBHuawei Cloud EulerOS 2.0 标准版 64位 ARM版系统盘:通用型SSD,40GiB安装必要的软件1.安装condamkdir -p ~/miniconda3wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-aarch64.sh -O ~/miniconda3/miniconda.shbash ~/miniconda3/miniconda.sh -b -u -p ~/miniconda3rm -f ~/miniconda3/miniconda.shsource ~/miniconda3/bin/activateconda init --all创建虚拟环境conda create -n tigerbot python=3.9源码下载1.下载TigerBot的源码下载源码 git clone https://github.com/TigerResearch/TigerBotcd TigerBot中将requirments.txt的flash-attn==2.1.1注释掉,因为这个是使用GPU时才需要安装的依赖。pip install -r requirements.txt 2.下载模型pip install modelscope modelscope download --model TigerResearch/tigerbot-7b-chat-v3 --local_dir model/tigerbot-7bmodelscope download --model TigerResearch/tigerbot-7b-base-v3 --local_dir model/tigerbot-7b-base-v3这个模型下载在TigerBot路径下输入命令,然后就会将模型下载到TigerBot/model下。模型下载如下图所示。 启动项目1.修改代码修改基础推理代码vim infer.py将device的GPU启动修改为CPU启动方式。 修改web_demo.py代码,这里是新建一个web.py用来区分原来的基础代码基础的web_demo代码实现的UI界面比较单一,启动方式必须是选择一个模型来启动。我对代码进行了一些优化:1.将原来的GPU推理方式修改为CPU推理。2.启动路径设置为文件夹,文件夹下面包含的模型在web界面都能够切换使用。3.增加了新建对话和历史对话查看,优化了输入框和回答框。其新建的web.py内容如下:(vim web.py)import streamlit as stimport osimport torchfrom datetime import datetime# 自定义模块(确保该模块路径正确)from utils.modeling_hack import get_model# 设置页面标题st.set_page_config(page_title="TigerBot - 基础问答", layout="wide")st.title("TigerBot - 基础问答 (CPU Mode)")# 模型根目录MODEL_PATH = "/home/TigerBot/model"# 获取所有子文件夹作为模型选项try: models = [name for name in os.listdir(MODEL_PATH) if os.path.isdir(os.path.join(MODEL_PATH, name))]except FileNotFoundError: st.error(f"Model path '{MODEL_PATH}' not found.") st.stop()# 用户选择模型selected_model = st.selectbox("Choose a model", models)# 如果选择了模型,则加载模型if selected_model: model_dir = os.path.join(MODEL_PATH, selected_model) @st.cache_resource def load_model(model_path): print(f'Loading model from: {model_path}') return get_model(model_path=model_path) try: model, tokenizer, generation_config = load_model(model_dir) model.to('cpu') # 确保在 CPU 上运行 except Exception as e: st.error(f"Failed to load model: {e}") st.stop() # 初始化会话状态 if "messages" not in st.session_state: st.session_state.messages = [] if "history_sessions" not in st.session_state: st.session_state.history_sessions = [] # 侧边栏:新建对话 & 历史记录 with st.sidebar: st.header("对话管理") if st.button(" 新建对话"): st.session_state.messages = [] st.subheader("历史对话") for idx, session in enumerate(st.session_state.history_sessions): timestamp = session["timestamp"] title = f"{idx + 1}. {timestamp}" if st.button(title, key=f"session_{idx}"): st.session_state.messages = session["messages"] # 显示聊天记录(兼容旧版 Streamlit) chat_container = st.container() with chat_container: content_html = "" for message in st.session_state.messages: role = message["role"] content = message["content"].replace("\n", "<br>") color = "blue" if role == "user" else "green" content_html += f'<div style="margin:10px;padding:10px;border-left:3px solid {color};"><b>{role}:</b> {content}</div>' st.markdown(f""" <div style="max-height:500px;overflow-y:auto;border:1px solid #ccc;padding:10px;margin-bottom:10px;"> {content_html} </div> """, unsafe_allow_html=True) # 输入区域 user_input = st.text_area("请输入您的问题...", key="main_input") send_button = st.button("发送") # 处理用户输入 if send_button and user_input: st.session_state.messages.append({"role": "user", "content": user_input}) # 构造输入并推理 inputs = tokenizer(user_input, return_tensors='pt', truncation=True, max_length=512).to('cpu') outputs = model.generate( input_ids=inputs['input_ids'], attention_mask=inputs['attention_mask'], generation_config=generation_config ) full_response = tokenizer.decode(outputs[0], skip_special_tokens=True) st.session_state.messages.append({"role": "assistant", "content": full_response}) # 清空输入框并刷新 st.experimental_rerun() # 保存当前对话为历史记录 if send_button and user_input: current_session = { "timestamp": datetime.now().strftime("%Y-%m-%d %H:%M:%S"), "messages": st.session_state.messages.copy() } st.session_state.history_sessions.append(current_session)2.推理基础推理运行代码为:python infer.py --model-path /home/TigerBot/model/tigerbot-7b运行之后的结果是这样的,在终端进行提问,会获得对应的回答,然后exit能够退出运行。原来web_demo.py的运行代码为:export PYTHONPATH='./' streamlit run apps/web_demo.py -- --model_path /home/TigerBot/model/tigerbot-7bWeb.py运行代码如下:export PYTHONPATH='./' #确保能够找到模块和包streamlit run apps/web.py -- --model_path /home/TigerBot/model运行之后的结果是这个就说明成功启动了,这里需要注意,需要将8501端口添加到安全组。然后打开http://123.249.104.17:8501网页在TigerBot大模型问答网页,能够选择tigerbot权重模型,选择的数量是自己从modelscope下载的。进行问答时在下面的问题输入框,点击发送就能够获得回答了,上面的白框能够看到问答记录。
-
案例介绍本案例指导开发者如何在云主机上进行鲲鹏服务器配置环境和安装KAE加速引擎软件并验证加速效果。案例内容1 概述1.1 背景介绍鲲鹏BoostKit Web使能套件聚焦Web应用HTTPS连接性能和Web开源组件可用性等关键问题,提供Web主流组件的开源使能和性能调优指南,通过使能鲲鹏处理器内置的KAE加速引擎软件,帮助客户提升Web网站的安全性,并实现用户HTTPS访问的极致体验。案例主要依赖集成在华为鲲鹏处理器内部的鲲鹏加速引擎来实现,具有性能高、功耗低的特点。1.2 适用对象企业个人开发者高校学生1.3 案例时间本案例总时长预计20分钟。1.4 案例流程说明:① 登录开发者空间;② 使用云主机终端连接鲲鹏服务器;③ 在鲲鹏云服务器上配置安装环境;④ 从代码托管平台gitee上拉取代码安装KAE加速引擎。1.5 资源总览本案例预计花费总计0元。资源名称规格单价(元)时长(分钟)云主机2vCPUs | 4GB RAM免费20鲲鹏沙箱2vCPUs | 4GB免费202 操作步骤2.1 自动部署鲲鹏服务器在云主机桌面右键选择“Open Terminal Here”,打开命令终端窗口。执行自动部署命令如下:hcd deploy --password abcd1234@ --time 1800命令的参数说明:password:password关键字后设置的是鲲鹏服务器的root用户密码,命令中给出的默认为abcd1234@,开发者可以替换成自定义密码(至少8个字符)。time:time关键字后面设置的为鲲鹏服务器的可用时间,单位为秒,至少600秒。当前案例预估需要20分钟,为了保证时间充足,在命令中申请的时间为30分钟,即1800秒。该命令会自动部署鲲鹏服务器。首次部署会直接执行,旧资源未到期时重复部署,会提示是否删除前面创建的资源,可以删除旧资源再次部署。记录部署远端服务器公网IP,如截图中对应的就是:121.37.166.205。2.2 配置安装环境新打开一个命令窗口,在命令窗口中输入命令登录鲲鹏服务器,命令如下:ssh root@鲲鹏服务器公网IP输入密码,密码为步骤2.1中自动部署命令行中“–password”后面的参数,命令中给出的默认为abcd1234!,如果没有修改,就使用abcd1234@进行登录,如果设置了自定义密码,直接输入自定义的密码(注意:输入过程中密码不会显示,密码输入完成按回车键结束)。登录成功后首先安装依赖包,命令如下:yum -y install kernel-devel.aarch64 wget pciutils由于该案例需要OpenSSL版本升级至1.1.1a或者以上,所有先查看OpenSSL版本,命令如下:openssl versionCentOS系统自带的OpenSSL版本为1.0.2k-fips,本文以升级到1.1.1a版本为例,命令如下:cd /homewget https://codeload.github.com/openssl/openssl/tar.gz/OpenSSL_1_1_1a --no-check-certificate将下载的源码包重命名,命令如下:mv OpenSSL_1_1_1a openssl-OpenSSL_1_1_1a.tar.gz解压OpenSSL源码包,命令如下:tar -xvf openssl-OpenSSL_1_1_1a.tar.gz进入“openssl-OpenSSL_1_1_1a”目录,并配置OpenSSL,命令如下:cd openssl-OpenSSL_1_1_1a/./config编译安装:make -j60 && make -j60 install配置ld.so.conf文件,命令如下:echo "/usr/local/lib/" \>\> /etc/ld.so.confldconfig -v使OpenSSL生效,先将OpenSSL添加到环境变量中,命令如下:echo export PATH=/usr/local/bin:\\\$PATH \>\> /etc/profilesource /etc/profile以上步骤完成后我们就可以验证下版本升级是否成功,出现下图版本信息就说明升级成功了,命令如下:openssl version2.3 安装KAE加速引擎软件首先下载RPM包(以CentOS 7.6系统的1.3.11版本为例),命令如下:cd /home/wget https://gitee.com/kunpengcompute/KAE/releases/download/v1.2.10/kae_1.3.11_CentOS.7.6.4.14.0-115.el7a.0.1.zip --no-check-certificate解压,命令如下:unzip kae_1.3.11_CentOS.7.6.4.14.0-115.el7a.0.1.zip进入解压目录,注意,由于文件名带空格所有需要加单引号:cd 'kae_1.3.11_CentOS 7.6 4.14.0-115.el7a.0.1'安装全部的RPM包,命令如下:rpm -ivh \*.rpm查看内核态库文件,命令如下:ll /usr/local/lib/engines-1.1/配置环境变量,命令如下:vi /etc/profile打开文件后点击“i“进入编辑模式,添加如下内容,键盘点击ESC,输入”:wq“保存退出:export OPENSSL_ENGINES=/usr/local/lib/engines-1.1生效环境变量,命令如下:source /etc/profile配置OpenSSL调用KAE加速库(即配置OpenSSL的环境变量),首先新建OpenSSL配置文件,命令如下:vim /home/openssl.cnf按“i”进入编辑模式,将KAE加速器相关内容写入OpenSSL配置文件:openssl_conf=openssl_def[openssl_def]engines=engine_section[engine_section]kae=kae_section[kae_section]engine_id=kaedynamic_path=/usr/local/lib/engines-1.1/kae.sodefault_algorithms=ALLinit=1按“ESC”键,输入:wq!,按“Enter”保存并退出编辑。查看OpenSSL配置文件,确认配置是否成功:cat /home/openssl.cnf然后将文件配置到环境变量中,打开profile文件:vi /etc/profile添加如下内容,保存退出:export OPENSSL_CONF=/home/openssl.cnf生效环境变量:source /etc/profile查看环境变量是否配置成功,出现如下内容说明配置成功了:echo \$OPENSSL_CONF至此所有配置已全部完成,下面我们来看看效果吧!2.4 验证结果RSA2048算法性能测试的同步性能测试,首先命令如下:\#不调用KAE加速openssl speed -elapsed rsa2048\#指定kae引擎,从而调用KAE加速openssl speed -elapsed -engine kae rsa2048从上图可以得出使用KAE加速和不使用速度是不一样的,我们对比发现,不使用加速情况下时间是28491.0秒,而在使用了加速情况下只使用了19673.5秒,所以在使用KAE加速引擎情况下,不论在处理速度上或者处理时间上都显著提高。同理进行异步性能测试,命令如下:\#不调用KAE加速openssl speed -elapsed -async_jobs 36 rsa2048\#指定kae引擎,从而调用KAE加速openssl speed -engine kae -elapsed -async_jobs 36 rsa2048在异步性能测试中也有明显的区别,如图所示,在不使用加速情况每秒处理速度是689.5次/秒,二使用加速情况下可达到709.5/秒。至此,使用鲲鹏BoostKit提升Web项目性能全部完成。
-
案例介绍本案例将以场景化工程样例中的通用工程SHA256为例来学习如何通过鲲鹏开发框架工具完成工程的创建、编译和运行。案例内容1 概述1.1 背景介绍鲲鹏开发框架是一款使能用户在鲲鹏服务器上进行开发的工具。鲲鹏开发框架充分利用鲲鹏平台的各类型算力及性能更优的第三方组件,提供鲲鹏工程向导、启发式编程、代码亲和检查等能力,一键引入鲲鹏加速库、快速构建鲲鹏应用软件框架,帮助开发者更便捷地开发鲲鹏应用,使能开发者高效创新。鲲鹏原生开发基于鲲鹏平台的新软件和新功能特性开发,应用鲲鹏DevKit工具把鲲鹏架构亲和性能充分体现的开发场景。1.2 适用对象企业个人开发者高校学生1.3 案例时间本案例总时长预计30分钟。1.4 案例流程说明:① 自动部署鲲鹏服务器;② 安装鲲鹏Devkit插件;③ 登录DevKit工具;④ 创建工程;⑤ 编译工程⑥ 运行工程。1.5 资源总览本案例预计花费总计0元。资源名称规格单价(元)时长(分钟)云主机2vCPUs | 4GB RAM免费302 操作步骤2.1 自动部署鲲鹏服务器在云主机桌面右键选择“Open Terminal Here”,打开命令终端窗口。执行自动部署命令如下:hcd deploy --password abcd1234@ --time 1800命令的参数说明:password:password关键字后设置的是鲲鹏服务器的root用户密码,命令中给出的默认为abcd1234@,开发者可以替换成自定义密码(至少8个字符)。time:time关键字后面设置的为鲲鹏服务器的可用时间,单位为秒,至少600秒。在命令中申请的时间为30分钟,即1800秒。该命令会自动部署鲲鹏服务器。首次部署会直接执行,旧资源未到期时重复部署,会提示是否删除前面创建的资源,可以删除旧资源再次部署。记录部署鲲鹏服务器公网IP,如截图中对应的就是:113.44.86.210。2.2 安装鲲鹏Devkit插件由于CodeArts IDE在线安装的鲲鹏DevKit工具版本过低,所以需要前往鲲鹏社区官网下载最新鲲鹏DevKit插件到云主机,下载地址为:CodeArts IDE插件市场(https://marketplace.visualstudio.com/items?itemName=kunpengfamily.kunpeng-dev-kit&ssr=false#version-history)。如下图所示,进入到下载页面后选择最新版本进行下载。在云主机桌面,打开CodeArts IDE for Python/Java开发环境,单击右侧“扩展”按钮,点击从本地安装,选择下载好的插件安装。在弹窗中选择“继续安装”。2.3 登录DevKit工具点击左侧“鲲鹏Devkit”按钮,在配置指引页面点击“开始使用”。填写自动部署的远端服务器信息,点击“确定”。首次登录需要创建管理员密码。2.4 创建工程工具登录成功后,选择“开发”,在应用开发下点击“创建”工程,在鲲鹏应用工程下选择“通用计算应用”。在通用计算应用中选择“加速库应用”。在加速库应用中工程类别选择“模板工程”下的“信息摘要”,工程名称和位置自定义即可,点击“下一步”。配置目标节点界面,部署服务器选择“暂不部署”,点击“创建工程”。工程创建成功后,点击“打开工程”。即在工程打开SHA256_Project工程代码。2.5 编译工程点击“编译”弹出配置运行界面。远程服务器配置,点击“添加目标服务器”。在目标服务器管理界面,点击“添加目标服务器”。在弹窗中填写目标服务器的信息,服务器IP地址填写自动部署拉起的服务器IP,免费公私钥对选择自动生成,输入SSH用户名和密码,点击“确定”。点击“登录”连接目标服务器执行安装cmake命令。命令如下:sudo yum install cmake再次点击“编译”按钮,在远程服务器配置中选择目标服务器,保持默认的编译命令,点击“开始编译”,编译命令如下:cd /root/workspace/h/src/sha256/; mkdir -p build && cd build && cmake .. && make编译成功。2.6 运行工程点击“开发”-“运行”弹出配置运行界面。在远程服务器配置中选择目标服务器,其中应用程序填入刚编译完成的二进制文件/root/workspace/SHA256_Project/src/sha256/build/sha256(其中SHA256_Project为项目名称,请按照实际操作路径填写),应用程序参数填入用于测试的数据文件,可以为任意文件,本例以/home/devkit/libssl/libcrypto.so为例。填写完成后,点击“开始运行”。从结果看出,对比汇编实现的sha256算法所用时间和C实现的时间,性能提升明显。至此,秒级创建鲲鹏工程进行原生开发全部内容完成。
-
案例介绍本实践中使用鲲鹏DevKit系统性能分析工具对业务中使用Python进行字符串拼接接口执行系统全景分析,应用热点函数分析,找到性能瓶颈点,并根据分析结果进行优化修改,从而实现使用Python进行字符串拼接性能增强。案例内容1 概述1.1 实验介绍鲲鹏DevKit系统性能分析是针对基于鲲鹏的服务器的性能分析工具,能收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析出系统性能指标,定位到系统瓶颈点及热点函数,给出优化建议。该工具可以辅助用户快速定位和处理软件性能问题。本实验选择Python进行字符串拼接性能分析作为示例,并借助开发者空间云主机提供的鲲鹏沙箱资源进行安装、配置,直观地展示Devkit中系统性能分析能力在实际应用开发中为开发者带来的便利。1.2 实验对象企业个人开发者高校学生1.3 实验时间本次实验总时长预计40分钟。1.4 实验流程说明:自动部署鲲鹏云服务器;安装鲲鹏Devkit插件;通过浏览器访问,添加IP节点,以配置在线分析环境;安装Python3;使用Python3命令执行代码;在线分析,通过全景分析和进程分析查看CPU负载和使用率情况进行对比分析;修改执行命令,再次分析。1.5 实验资源本次实验预计花费总计0元资源名称规格单价(元)时长(h)云主机4vCPUs | 8GB |ARM | Ubuntu免费12 鲲鹏DevKit之Python字符串拼接系统性能分析2.1 自动部署鲲鹏云服务器在云主机桌面右键选择“Open Terminal Here”,打开命令终端窗口。执行自动部署命令如下,该命令会自动部署鲲鹏云服务器。hcd deploy --password abcd@1234 --time 3600–password 待部署项目所在ECS的root用户密码(至少8个字符),如果不修改部署命令,鲲鹏云服务器密码就是abcd@1234。–time 待部署资源的保留期(单位为秒,至少600秒,默认600秒)。当前实验预估需要40分钟,可以配置time为1小时保留期。看到“application is running, service addr: https://xxx.xxx.xxx.xxx:8084”表示部署成功,记录部署远端服务器公网IP,如截图中对应的就是:115.175.25.9 。自动部署的鲲鹏云务器已经预装了鲲鹏DevKit插件,该案例会用到DevKit的系统性能分析能力。2.2 添加IP节点在云主机桌面右键选择“Open Terminal Here”,打开命令终端窗口。通过ssh连接云服务器,然后输入“密码”,出现“Welcome to XXX”代表连接成功。ssh root@云主机IP登录鲲鹏云服务器查询鲲鹏云服务器内网IP地址。ifconfig通过浏览器访问鲲鹏云服务器,添加目标节点,以配置在线分析环境。打开浏览器,输入“https://xxx.xxx.xxx.xxx:8086”(IP为2.1自动部署的鲲鹏云服务器IP),如果提示风险,点击接受并继续。首次登录需要设置密码,设置后登录。登录完成后添加节点:点击“调优”,选择通用分析下面的“新建”按钮,右边窗口选择“管理节点”。进入管理界面后,点击“添加节点”,勾选协议,弹窗节点IP输入上面ifconfig查询到的鲲鹏云服务器内网IP,输入“密码”,点击“确定”。选择“继续添加”。添加成功如下图所示,点击左上角“DevKit Tools”返回上一级菜单。上一级菜单如下图所示,可以看到节点添加成功。2.3 执行Python代码回到云主机桌面打开终端,创建concatenate_string.py文件。vim concatenate_string.py回车进入,点击“i”进入编辑模式。concatenate_string.py代码如下(concatenate_string.py 代码仓地址请至案例原文获取):import sysBASE_STRING = "Hello world"LOOP_TIMES = 100000000STRING_LIST = [BASE_STRING] * LOOP_TIMESdef string_plus(): new_string = '' for string in STRING_LIST: new_string += string print(len(new_string)) def string_join(): new_string = ''.join(STRING_LIST) print(len(new_string)) def main(): function_map = { 'string_plus': string_plus, 'string_join': string_join, } print(sys.argv) _, function = sys.argv if function in function_map: function_map[function]() else: print('function {} not exist'.format(function)) if __name__ == "__main__": main()代码复制完毕,键盘点击“esc”,然后输入“:wq”保存退出。执行以下指令,可以代码看到执行成功,该代码中使用“+”在for循环中拼接字符串,运行时间为10s。time python3 concatenate_string.py string_plus2.4 在线分析2.4.1 创建全景分析任务回到浏览器,可以看到2.2添加的节点界面。分析类型选择“全景分析”,采样类型全部勾选,采样时长设置为“20”,其他默认,点击“确定”,跳出弹窗点击“确定”。出现如下界面时,点击“开始分析”,等待分析进度条完成。采样完成后,点击“系统性能”,打开“CPU负载”,可以看到数据显示CPU负载值。2.4.2 创建进程线程分析任务回到执行Python终端,如连接超时重新连接即可。再次执行Python3命令。time python3 concatenate_string.py string_plus执行成功返回浏览器。点击左上角系统性能分析后的新建任务图标,选择“通用分析”。分析类型选择“进程分析”,采样类型全部勾选,采样时长设置为“20”,其他默认,点击“确定”,跳出弹窗点击“确定”出现如下界面时,点击“开始分析”。等待分析进度条完成。分析完成后查看进程性能数据,CPU使用率也比其他大部分进程高。2.5 修改执行命令并再次分析回到Python终端,将执行命令进行修改,使用join拼接字符串,执行如下命令,可以看到运行时间变为3s。time python3 concatenate_string.py string_join再次创建全景分析,参数与2.4.1保持一致,分析成功后查看结果。再次创建进程分析,参数与2.4.2保持一致,分析成功后查看结果。时间对比:字符串拼接方式运行时长使用“+”拼接10.850s使用“join”拼接3.112s总结使用鲲鹏DevKit系统性能分析工具查看性能数据,通过系统全景分析和进程分析的数据采集,可以分析出性能瓶颈点,Python中的string是不可变对象,循环中使用+进行大量字符串拼接时,会频繁的进行内存的申请、分配以及字符串的复制,导致性能低下。将代码进行修改,使用join拼接字符串,执行时间减少,性能明显提升。至此本次实验全部内容完成。更多案例戳→https://devstation.connect.huaweicloud.com/space/devportal/casecenter
-
添加服务器启动在线分析功能。在线分析概览页签查看进程整体情况。通过概览页面发现程序的堆使用情况在一段时间内不断升高,同时GC也比较频繁,但是堆却没有明显的被释放,可能存在内存泄露。GC页签查看GC详情。分析发现GC比较频繁的有YoungGC和OldGC,但是每次GC回收的内存可以忽略不计,甚至根本没有回收任何内存,此现象说明内存泄露的可能性很大。内存页签查看内存详情。在内存转储页签下点击执行内存转储按钮生成堆转储文件,为了方便查看堆的变化可以保存快照,生成多次堆转储文件。再次生成内存转储。通过生成两次堆转储文件发现TestMemoryLeak$Person这个类应该是自定义的类,内存占用情况比较多,并且随着时间呈上升趋势,需要重点观察。可以利用快照功能提供的比较操作,方便查看两个堆转储文件中相同类实例与保留堆的变化情况,通过比较发现TestMemoryLeak$Person实例与保留堆是明显上升的趋势。切换模式查看。切换到支配树模式,发现TestMemoryLeak 类的保留堆占总堆的比例高达 99%,继续向下点开支配树发现大部分对象是 TestMemoryLeak$Person 持有的 byte[],到这里正好可以跟直方图中byte[] 占比较多可以对应的上。结果分析经过直方图与支配树的分析,TestMemoryLeakPerson类对应的实例有内存泄露嫌疑,根据支配树提供的内容应该是HashSet实例持有TestMemoryLeakPerson类对应的实例有内存泄露嫌疑,根据支配树提供的内容应该是 HashSet 实例持有TestMemoryLeakPerson类对应的实例有内存泄露嫌疑,根据支配树提供的内容应该是HashSet实例持有TestMemoryLeakPerson对象,接下来咱们可以搜索代码中的相关项看看。本案例中的demo 程序比较简单,直接搜索TestMemoryLeak类可以发现的确存在内存泄露点,一个线程不断的往hashSet和hashSetPerson两个静态对象添加 Person 实例,并且没有清除的逻辑,导致出现内存泄露。采样分析对目标程序进行采样分析,最好进行多次采样,采样时间相对长一点。启动采样分析。查看采样分析结果。调优结果通过在线分析和采样分析大致定位到内存泄露的点后,就需要根据功能提供的类、实例以及引用链信息查看具体的业务代码,然后根据情况具体分析代码修改策略。如本案例中的程序,如果把它看成是一个保存缓存数据的场景,我们就可以加入定期清除的策略。优化后代码优化后的程序通过概览页即可发现堆内存存在明显释放且GC活动正常。
推荐直播
-
华为云码道-玩转OpenClaw,在线养虾2026/03/11 周三 19:00-21:00
刘昱,华为云高级工程师/谈心,华为云技术专家/李海仑,上海圭卓智能科技有限公司CEO
OpenClaw 火爆开发者圈,华为云码道最新推出 Skill ——开发者只需输入一句口令,即可部署一个功能完整的「小龙虾」智能体。直播带你玩转华为云码道,玩转OpenClaw
回顾中 -
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中
热门标签