一 devkit
1 业务:不同环境下的开始、测试、部署、迁移、监控项目
2 需求:x86服务器、x86处理器、复杂指令集迁移到鲲鹏服务器、鲲鹏处理器、简洁指令集。调试调优。
3 解决方案:
(1)功能“集”:
- 开发
- 代码迁移工具
- 鲲鹏开发框架
- 高效迁移,极简开发
-
编译调试
- 编译调试插件
- 鲲鹏亲和性能更高
-
编译调试
- 编译调试插件
- 鲲鹏亲和性能更高
-
调优&诊断
- 性能分析工具
- 全面分析,精准诊断
(2)“神”冰箱:鲲鹏一站式全流程开发套件devkit
4 完成学习
(1)思想、思路、体系组织,原理,流程:一站式开发套件
(2)重:迁移:扫描快、检出全、指导精、构建易
- 分析扫描
- 知道迁移工作的工作量(时间)
- 多少文件需要修改
- 需要哪些依赖库
- 源代码迁移
- 可以对常用的语言进行快速扫描
- 针对某一语言,在两个不同的指令集架构上的差异点给扫描出来
- 对比:
- devkit:提供修改和优化建议,甚至一键替换
- 从工:差异找不全,找出来 也不知道怎么改
- 剩下的就是把代码进行编译,就可以把项目变成适配鲲鹏服务器的软件了。
- 软件包重构:针对于软件包模式的
- 扫描x86下的依赖包(如rpm包、jar包)
- 点击一键重构,可以把x86下的包,修改成适配鲲鹏的包
- 拿到修改后的包,就可以拿到鲲鹏服务器上安装并把项目跑来了呀。
- 专项软件迁移:针对一些专项项目(大数据、web、跨性能计算软件等类型项目)
- 区下载包
- 基于鲲鹏模式进行一键盘编译、迁移,得到一个适配鲲鹏服务器的包
(3)重:加速库:”零”开发、高性能,平均提供10%+
- 切换到鲲鹏服务器(ARM、简单指令集)后,有一引起手段可以立即快速提高软件的性能。
- 鲲鹏加速库,针对了一些常用的包、库、软件进行无偿加速。
- 使用方法:使用鲲鹏加速库等以后,可以立即快速提高软件的性能。
(4)重:编译:在鲲鹏平台上翻译出性能更佳的机器指令
- 3种编译器,确保在鲲鹏上有很好的性能效果
- 毕生编译器:LLVM
- 毕异JDK:基于open jdk
- 鲲鹏GCC:GCC开发
(5)重:调优(性能分析):精准分析、全面调优,软硬件融合释放最佳性能
- 像上面的“加速库、编译器”,就是加入相应的工具(库)就马上有效果了。
- 而“调优”则是动态来分析和提升软硬件性能的工具。
- 系统性能优化:收集处理器、硬件的性能指标。图形化。优化建议。3大模块8个功能。
- JAVA性能优化:java虚拟机调优(GC、堆、线程锁)。
(6)纲:ExaGear:低成本完成x86无源码应用的快速迁移。
- 无源码
- 老版本的软件,找不到源码。
5 Devkit亮点:助力开发者高效完成应用迁移与调优
(1)入门简单:不改变开发者习惯,快速上手。两种模式。
- 两种模式:
- IDE模式。装插件即可使用所有功能。
- web浏览器模式。套件部署在自己服务端,用户可以通过浏览器来访问服务器地址。通过界面操作,使用所有功能。
(2)自动化:迁移内容自动识别,汇编代码自动翻译
(3)高效:代码修改建议自动生成,开发效率倍增
(4)便捷:(IDE)远程调测,提供更便捷的调测能力
- IDE+插件使用所有功能、完成所有工作
- 编码、上传、编译、调测
(5)可视:全场景性能分析可视,性能瓶颈一目了然、调优尽在掌握
6 DevKit案例
(1)基于DevKit打造性能最优的MSP平台
(2)基于鲲鹏DevKit提升气象预测性能150%
7 Devkit使用手册
(1)获取鲲鹏Devkit开发套件、帮助资料获取方式
- 区:https://www.hikunpeng.com/developer/devkit
- 论坛:https://bbs.huaweicloud.com/forum/forum-928-1.html
- 自由发贴
- 提问,会有华为开发人员跟踪,并保证在两小时内有回复
- 以前人,经验总结、优秀事件
- 步骤
- 鲲鹏 区-官 丨凝心聚力 共创行业新价值
- 开发者
- 第1步:鲲鹏开发套件DevKit
- 每个工具都有下载链接
- 每个工具都有详细的安装教程
- 最佳实践,可用来学习
- 第1步:鲲鹏开发套件DevKit
- 学习
- 在线课程,快速学习如何使用
- 文档
- 各个工具的文档都有,能够提供更详细的工具使用说明
- 开发者
- 鲲鹏DevKit_鲲鹏_开发者论坛-华为云论坛
- 上面已经发布有上千个贴子了
- 有很多优化的案例、实践
- 提问。会快速回复解答。
- 鲲鹏 区-官 丨凝心聚力 共创行业新价值
(2)迁移工具:VS Code版本
0、第零步:有Demo代码
1、第一步: 扫描。右击(code菜单)对代码进行代码扫描,看看代码有没有问题。如果有问题,根据建议把代码修改好,然后经过编译、调试就可以放到鲲鹏服务器上跑起来了。
(1)点击“新建源码分析任务”:
(2)登录代码迁移工具 :
(3)点击“开始分析” :
(4)扫描结果展示(如下,代码有一些问题,修改过后才能在鲲鹏上跑起来)
- “与架构相关的依赖文件”:
- x86架构下的依赖库,修改成arm架构下的依赖库。下载链接。下载、安装即可。
- “需要迁移的源码文件”:
- 代码中不适配鲲鹏环境的一些代码语句(点)
- 点击那些“点”,跳到具体的代码行
- 根据建议进行修改,如依赖华为自己的高性能库(GitHub – kunpengcompute/AvxToNeon: Encapsulate the frequently used AVX instructions as independent modules to reduce repeated development workload.)
- Quick fix:快速修复
- 替换成建议代码
(3)加速工具:VS Code版本
- 推荐加速库
- 函数名:可以使用鲲鹏加速库中的函数进行代替
- 鲲鹏加速库。下载链接。下载。
- 函数名:可以使用鲲鹏加速库中的函数进行代替
(3)性能工具:VS code模式
(4)性能工具:web模式
- 把性能工具安装在鲲鹏服务器端
- ip port登录
- 点击“系统性能分析”
- 有案例参考链接
- 指导文档链接
- 向专家求助
- 步骤:
- 创建一个工程
- 对工程创建一系列的任务
- 点击“java性能分析”
- cpu
- GC
- 锁
- 进程
- 线程
- 内存
8 经分二期案例
(1)第一步:环境部署
Mysql : | root / MY_sql#567.890 |
Redis: | Re_Dis#567.890 |
Minio: | jfadmin / Jf_Admin#567.890 |
nginx: | /usr/local/nginx/ |
openJdk/jdk8 | jdk8 |
(2)(不)第二步:idea + 鲲鹏插件
idea怎么安装插件
安装idea插件:
(3)第三步:迁移(https://173.28.11.4:8085/porting/#/login
,portadmin,123456@a)
- 安装web模式下的kunpeng devkit迁移工具:安装-安装鲲鹏代码迁移工具-用户指南-鲲鹏代码迁移工具-鲲鹏开发套件-文档首页-鲲鹏 区 (hikunpeng.com)
- 扒下23服务器上经分二期的jar包:bas-admin.jar
- 本地PC访问web模式下的kunpeng devkit迁移工具
- 源码迁移。
(4)第四步:性能分析
- 安装web模式下的kunpeng devkit性能分析工具:安装-安装-用户指南-鲲鹏性能分析工具-鲲鹏开发套件-文档首页-鲲鹏 区 (hikunpeng.com)
(5)第五步:兼容性测试工具
- 先把在线 告那个测试插件安装上去先:工具安装步骤_鲲鹏通用_兼容性测试工具用户指南(基于TaiShan服务器)_环境配置和工具安装_华为云 (huaweicloud.com)
# 待测试应用软件进程名称,多个应用名称以逗 隔开。
# 可通过ps或者docker top 命令CMD所在列查找后台进程名称, Kubernetes集群环境下填写Pod名称。
application_names=bas-admin.jar
# 待测试应用软件启动命令,多个应用的启动命令以逗 隔开。
start_app_commands=nohup java -jar /home/bas/bas-admin.jar &
# 待测试应用软件停止命令,多个应用的停止命令以逗 隔开。
stop_app_commands=/home/bas/jf.sh stop
# 被测应用软件的压力测试工具启动命令。
start_performance_scripts=
# Kubernetes集群填写”Y”。其他环境可置空。
kubernetes_env=
(6)第六步:毕晟jdk
openjdk8:vi /etc/profile
export PATH=/opt/aarch64/compiler/gcc-10.3.1-2022.06-aarch64-linux/bin:$PATH
export INCLUDE=/opt/aarch64/compiler/gcc-10.3.1-2022.06-aarch64-linux/include:$INCLUDE
export LD_LIBRARY_PATH=/opt/aarch64/compiler/gcc-10.3.1-2022.06-aarch64-linux/lib64:$LD_LIBRARY_PATH
毕晟jdk:vi /etc/profile
使配置文件立即生效
source /etc/profile |
(7)测试 告在线生成平台
注册华为ID:
华为鲲鹏创新中心旗舰店 (huawei.com)
二 boostkit
三 参考
鲲鹏开发套件插件工具(IntelliJ)(旧文档)
鲲鹏DevKit:鲲鹏平台代码迁移利器|QCon_文化 & 方法_(访问)
鲲鹏开发套件_搜索_哔哩哔哩-bilibili(B站视频)
沙箱实验:通过鲲鹏开发套件实现Java代码迁移_哔哩哔哩_bilibili(B站视频)
鲲鹏DevKit:从“应用迁移”走向“原生开发”,开发效率提升50% (各个阶段)
代码迁移工具关键特性与实战演示 ()案例演示、提供下载链接代码迁移工具关键特性与实战演示 ()
鲲鹏代码迁移工具基础知识 (迁移:输入、分析处理、输出)
体验代码迁移工具的极致效率(语言支持跨平台,运行环境OK即可)
四 其它
-
获取linux操作系统详细信息:
- cat /etc/os-release
- cat /etc/redhat-release
- 查看CPU架构:arch
-
项目经理
- 看视频教学,快速看一遍
- 下工具
- 对照文档操作
- 自己项目的代码 或 官 提供的demo代码,进行操作
- 有问题,在论坛发贴,必定快速响应
- 华为云账 :p18878791425 123456@a
- web模式迁移工具:https://173.28.11.4:8084/porting/#/login portadmin 123456@a
- web模式性能分析工具:https://173.28.11.4:8086/user-management/#/login tunadmin 123456@a
集群与架构:(1)逻辑 (2)物理(3)11
自己理解:
关:【关联、对比】
疑:【疑问,如预习、工作疑问】
重:【实现技术,工具】
难:【感想、体会、领悟】 【总结、归纳、规律】
大道至简:提纲(系统化、宽度、至少是视频标题)图表短
文章知识点与官方知识档案匹配,可进一步学习相关知识Java技能树使用JDBC操作数据库数据库操作91744 人正在系统学习中
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!