迁移之时如何兼顾优化,这还真是个技术活

2020 年 7 月 08 日

迁移之时如何兼顾优化,这还真是个技术活

性能的关键是精简,而不是一堆的优化用例。除非有真正显著的效果,否则一定要忍住你那些蠢蠢欲动的小微调的企图。 ——Jon Bently 和 M. Douglas McIlroy, 贝尔实验


在每个版本上线之前,每一个灯火未歇的夜晚,每个开发者只怕都会对自己的代码百感交集。这些代码在未经测试前就像一连串冰冷的字符,其可能带来是一幅精湛的绝技,也可能是一连串 error。但只要这些代码上线了,它便是整个公司的承载,是整个业务的核心,编程者面对这些代码难免会生出几分自信:这些作品摆在那里,就能够持续的发挥它的价值。


但是,代码并非是一成不变的。


技术在进步,这是每个人都能看到的事实。三年前的框架和语言放到今天来看,其中恐怕过半的内容都已经老旧到无法使用,如果是算法模型之类,其更新迭代的频率还可能更快;算力在不断更新,连摩尔定律都无法预知的新型算力接踵而至,新的算力平台持续推动行业的升级,企业业务也多需随其转变。于是乎,那一行行的代码便很难像米开朗基罗的雕塑一样屹立百年而不变,它们需要更新,需要迁移,也需要优化。


“我只是把不需要的部分去掉而已。”米开朗基罗对雕塑的优化便是如此做的。殊途同归,对代码的优化也早有大神们指出了明路,性能调优关键在于精简,而不是用一堆优化用例一拥而上,看似重症下猛药,实则成为了养蛊现场,最终只能拆了东墙补西墙,勉强跑起来的代码一遇对手,便难免败下阵来。


从现实场景来看,为了满足业务升级后的需求,企业将应用代码迁移到不同的平台,原因一定是新的平台有着更加强悍的算力基础,也能够提供更加适合自身新业务开展的能力基础。但很多时候,仅仅是将应用代码迁移至新的平台就已经磨去了开发者们仅存的耐性,更遑论如何在迁移的同时实现性能调优,充分发挥新平台的算力优势等事情了。同时这种做法本身就是一种本末倒置,应用代码迁移本就是一种大破大立,此时如果不能充分调整使其发挥出新平台的技术优势,这将会导致整体迁移效果大幅缩水。


想走捷径也并非无路可寻,找到合适的工具精准分析,及时调优便能解决大多数问题。举例来看,当业务从 x86 处理器迁移到鲲鹏处理器之上时,不同的处理器架构必然需要对代码进行编译迁移。而在迁移的同时,如果使用鲲鹏性能优化工具(Tuning Kit)收集服务器的处理器硬件、操作系统、进程/线程、函数等各层次的性能数据,分析其中的使用率、饱和度、错误等指标,便很容易定位到系统瓶颈点及热点函数,从而获得调优建议,使得迁移过程事半功倍。


现在,这一条让你轻松完成迁移的捷径就在眼前。


7 月 11 日,「18 城鲲鹏创新中心开发者创享日·天津鲲鹏生态创新中心专场」将为大家进一步讲解应用代码迁移和性能调优的那些故事。届时,来自华为的技术专家将会深度讲解迁移实践经验,同时还将介绍项目中软件迁移的思路以及常用性能采集工具,不仅如此,现场还设置有诸多福利环节,让你面对面与技术大咖论道。而无法前往现场的朋友也可以通过观看线上直播参与到本次活动中来!


参会收益


  1. 通过了解应用代码迁移相关技术原理、实践经验和对应方法论,能够快速实现业务迁移;

  2. 丰富的案例讲解和落地经验分享,能够帮助开发者在ARM架构鲲鹏处理器的基础上,打造更具优势的商业化解决方案;

  3. 熟悉鲲鹏软件迁移和调优工具套件的使用,能够先人一步快速发挥出鲲鹏先进算力的真正力量;

  4. 奖金丰厚,机会超多的华为鲲鹏开发者大赛即将开启,参与者将提前了解大赛详情。



每一次架构的变迁都是企业的生死战,但我们能看到的是,凡是敢于变化,敢于迁移的企业,往往都能取得非凡的成果。通过这场线上沙龙,一同开启变革之旅吧!


点击此链接直达本节课堂


2020 年 7 月 08 日 08:33417

评论

发布
暂无评论
发现更多内容
迁移之时如何兼顾优化,这还真是个技术活-InfoQ