当前位置: 首页 > 科技观察

淘宝王成:淘宝JVM的性能优势和价值体现

时间:2023-03-21 23:39:56 科技观察

【采访】北京时间2012年12月4日,VelocityChina2012Web性能与运维大会在京召开。程先生,王程先生主要负责淘宝JVM的开发。基于OpenJDKVM,他为淘宝定制优化了一个更贴近应用需求的专用JVM。本次Velocity发布会,王诚老师主要为大家分享《淘宝 JVM 优化实践》。也借此机会,小编就淘宝JVM的话题和王诚老师进行了一些交流,分享给大家。王成(常任)(右)与记者座谈。以下为采访内容:王老师您好,很多关心JVM技术的人都知道,淘宝推出了开源优化定制的JVM版本:淘宝JVM,与Oracle官方相比有哪些性能优势?JVM版本?王成(常任):说到淘宝JVM,大家肯定关心的是性能,而性能是大家直观感受的差异。在性能方面,淘宝JVM相对于正式版进行了优化定制,性能有所提升。针对具体的应用,我们根据很多应用的特殊性能需求,都有相应的优化点。比如我们刚才提到的很多Intrinsic,这在Oracle正式版中是不可能的,因为这些要求不是很通用。对于hotspotvm,它更侧重于普遍的性能改进。淘宝JVM更贴近淘宝的Java应用,我们可以接触到一线的性能需求,根据这些需求进行优化。所以淘宝jvm的性能提升在刚才的PPT中可以看到,会很有优势。这并不是说我们做的比Oracle好,而是我们更贴近用户需求,我们根据具体的需求做一些具体的优化。肯定会比一般的优化好,这是我们最大的优势。:你在这个开源项目上主要负责什么?王成(常任):我主要负责计算专用组。当我们开始构建淘宝JVM时,只有我一个人。那是我第一次来淘宝的时候。大家要说一下,我们淘宝之前在JVM上的工作只能停留在参数调优上,还没有深入修改。因为我是Oracle出身,接触过这方面的,所以就成立了这个群专门研究淘宝JVM。现在我们组一部分同学在做淘宝JVM,另一部分在做专项计算工作。对于淘宝的jvm项目,我的老板---张文松博士最先提出来,并给予了大力支持。他是最初的发起人。这个工作是淘宝需要的,因为淘宝是Java技术最大的应用方,确实需要自己定制的JVM。:从JVM优化、定制和相关工具开发,你遇到过什么问题吗?你是如何着手解决这些问题的?可以分享给你的朋友吗?王成(常任):其实遇到的问题很多,最大的问题是人的问题。因为前面说的JVM社区很小,没有人对这部分工作很熟悉,而且因为社区太小,做这方面的人也很少。正因为如此,相关人才难寻。这个最大的问题也解释了为什么我们从一开始就花了将近两年的时间才实现成果的大规模应用。在这么长的时间里,主要任务其实是培养人才。我们组的大部分学生其实都是应届毕业生。他们从应届毕业生开始接受培训。经过近3年的磨练,他们在这方面做得很好。所以最大的问题是人的问题,而不是技术本身。我认为环境对于人才的培养非常重要。像我们阿里集团的核心系统部门,这个环境是一个非常好的环境。或许对于一个大一新生来说,刚来的时候他可能是一张白纸。当然,他可以在这样一个技术氛围非常浓厚的环境中快速成长。只要他努力,他就会成长的很好。团队,对于应届毕业生来说,经过2-3年的培养,能够达到这个水平,是非常好的。有同学经过自己的努力、兴趣和在我们环境的不断磨练,跳槽到美国OracleJVM团队参与JVM核心的开发。昨天正明(张文松博士)提到我们在向甲骨文输出人才。这方面肯定了我们的工作。当然,这对我们来说其实是好事还是坏事。所以环境是比较重要的,也就是说你在这个环境中会成长的非常快。当然,我也希望更多有兴趣的同学能利用这个机会加入我们的环境,做更多的事情。:淘宝、天猫换掉Oracle官方JVM版本后,你觉得淘宝JVM的价值在哪里?王成(常任):很多在线版本已经取代了Oracle的正式版,价值主要体现在对应用端来说心理上更安心。因为以前JVM有问题,很难得到Oracle的支持。我们在Oraclebugdb上提bug的时候,反馈的不是很及时。既然用了我们的jvm,我们的团队就帮他们解决问题,专门针对他们的需求做一些JVM相关的工作,让他们很放心。我们可能不需要刻意关注具体的东西,比如性能、指标、功能点。仅从这一点来说,人们愿意使用我们的产品,因为他们离他们更近,我们的服务非常好。对于申请,我们基本上都是面对面的上门服务。:可以共享吗?王成(长仁):对,我们所有的补丁都在我们的jvm.taobao.org上,所有的同学都可以去那里抢补丁。我们贡献出来供大家一起使用,也希望大家能够参与进来,做出一些贡献。开放是淘宝一个很重要的基因。我们不仅开源了JVM,淘宝也开源了淘宝的Linux内核,MySQL,tengine,还有很多很多的应用都是开源的。:淘宝Hadoop集群在淘宝内部有个很美的名字叫“天梯”。既然知道“天梯”,又从事优化工作,您认为淘宝当初选择Hadoop的主要原因是什么?王腾(常任):我对《天梯》的理解是有限的。我觉得阿里之所以使用Ladder,主要还是看中它的开源基因,看它庞大的应用群体和活跃的社区。这个基因很重要,也就是说它是一个开放的系统,它的社区很活跃,它有很多用户,比如facebook,yahoo,这些公司的开发者在这个社区参与hadoop的工作,而且我们也参与或者,我们的好处是我们可以分享许多其他人的工作并同时为其做出贡献。其实我们的成本很低,很划算。而且Hadoop在阿里的离线分析和离线计算方面做了大量的工作。其实我们现在的“天梯”整个系统负载还是挺高的,下面还有很多作业在跑,很关键,也很好。体现了它的价值。所以我觉得我们选择Hadoop的主要原因是它的开放性,它很好的解决了我们的问题,同时我们可以和很多开发者一起把它做的更好。【责任编辑:小林TEL:(010)68476606】