鲲鹏devkit(迁移 测试 性能分析) boostkit
一 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迁移工具
- 软件迁移评估。点击“开始分析”。生成报告。对JAR包做扫描分析-扫描分析jansi-native-1.0版本JAR包-实践1:扫描分析jansi-native-1.0-最佳实践-鲲鹏代码迁移工具-鲲鹏开发套件-文档首页-鲲鹏社区 (hikunpeng.com)
- 源码迁移。
(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
$ cd /path/to/jdk$ export JAVA_HOME=`pwd`$ export PATH=$JAVA_HOME/bin:$PATH$ export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
使配置文件立即生效
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
自己理解:
关:【关联、对比】
疑:【疑问,如预习、工作疑问】
重:【实现技术,工具】
难:【感想、体会、领悟】 【总结、归纳、规律】
大道至简:提纲(系统化、宽度、至少是视频标题)图表短
鲲鹏devkit(迁移 测试 性能分析) boostkit相关推荐
- MybatisPlus性能分析插件
性能分析 性能分析拦截器,用于输出每条 SQL 语句及其执行时间 SQL 性能执行分析,开发环境使用,超过指定时间,停止运行.有助于发现问题 配置插件 (1)参数说明 参数:maxTime: SQL ...
- 【鲲鹏应用迁移】实验:通过鲲鹏开发套件实现Hyper Tuner性能调优(超详细)
基于华为云沙箱实验室的Hyper Tuner性能调优测试学习笔记 文章目录 一.实验目的: 1. 使用鲲鹏性能分析工具Hyper Tuner创建系统性能分析以及函数分析任务. 2. 使用鲲鹏的NEON ...
- [SQL Server]用于压力测试和性能分析的两个支持实用工具[转]
微软有两个不提供支持服务的SQL Server压力测试和性能分析工具.具体看微软知识库: http://support.microsoft.com/?kbid=887057 分别是: Read80Tr ...
- Python性能分析优化及测试
Python性能分析优化及测试 写在前面 CPU分析工具 简单的time方法以及包装成的修饰器 timeit UNIX的time命令进行简单的计时 cProfile:分析每个函数运行花费的时间 lin ...
- linux 小包 性能,网络数据小包吞吐量测试与分析
摘 要: 吞吐量是评价网络平台性能的重要指标,是网络用户关注的焦点,对于不同帧长的以太网数据包,网络平台的处理能力存在较大差异,主要体现在处理64B和128B小包数据时,吞吐量有明显的降低.针对这一 ...
- 移动端测试 APP启动性能分析 WebView性能分析 H5性能分析 卡顿分析 帧分析 CPU统计 网络流量分析 耗电量指标 弱网测试 健壮性测试 兼容性测试 Amdahl
Android官网使用指南性能:https://developer.android.com/topic/performance 一.APP启动性能分析 APP的启动过程 调用起APP.创建一个空白窗口 ...
- kafka原理和性能分析测试
1.Kafka写数据流程: producer先从zookeeper的broker-list的节点找到partition(分区)的leader: producer将消息发送给该leader的partit ...
- 【鲲鹏 DevKit黑科技解读】│如何实现全链路系统问题90%精准诊断?
摘要:DevKit系统诊断工具是鲲鹏性能分析工具的子工具之一,能够针对内存.网络.存储等常见故障和异常,提供精准定位和诊断能力,帮助用户识别出源代码中的问题点,提升程序的可靠性,故障定位准确率高达90 ...
- 鲲鹏Devkit代码迁移工具课堂总结
鲲鹏Devkit代码迁移工具课堂总结 一.为什么要用鲲鹏Devkit代码迁移工具? 1.背景介绍 在国产替代的大背景下,鲲鹏计算平台是一个非常有潜力的 ...
最新文章
- TypeError: Input 'b' of 'MatMul' Op has type float32 that does not match type int32 of argument 'a'.
- RabbitMQ之TTL(Time-To-Live 过期时间)
- 转载、Python的编码处理(二)
- Segment Tree Beats 区间最值问题
- Eclipse下的java工程目录问题和路径问题理解
- python识别出蓝色_OpenCVPython——无法检测蓝色对象
- html如何实现页面懒加载,浏览器HTML自带懒加载技术
- Navicat 创建mysql事件
- DFS-分布式文件系统对比
- bios error 装系统acpi_WIN10重装系统提示错误ACPI?处理重装系统bios acpi错误
- java++pdf文档合并_Java多个PDF文件合并成一个PDF文件-Go语言中文社区
- ASAM:自动驾驶仿真测试标准引领者
- 从浏览器中打开我们的应用
- py2exe 打包 Pmw Error 3 解决方案
- Vim - 官方网站
- 【centos7静默(无图形界面版)本地离线安装oracle11g,附带个人建议】
- 猫咪藏在哪个房间python_猫咪总喜欢把自己藏在不可思议的地方,这是为什么呢?...
- PMP考试总结-2023-05-27
- 腾讯计划推出搜狗输入法鸿蒙版;全球首款Web3手机售价2.38万起,全球预约人数超20万|极客头条
- JS实现 给定一个整数数组 nums 和一个目标值 target,请你在该数组中找出和为目标值的那 两个 整数,并返回他们的数组下标。
热门文章
- bzoj 1491: [NOI2007]社交网络
- 19.1 快速幂的定义和模板
- 邮箱授权码正确,却连接失败
- JavaScript中查找关键词
- Python+selenium+360浏览器实现自动测试
- 国际版阿里云短信对接
- 超全的机器学习深度学习资料汇总,惠存!
- TS+M3U8+directshow流媒体播放器 简介
- i春秋百度杯CTF比赛2016年12月场writeup
- 聊城大学计算机学院2016级11班,E·社会实践 | “观运河风采,忆聊城古韵”——2016级11班...