淘宝王琤:Taobao JVM的性能优势与价值体现

简介: 阿里集团作为中国最大的Java技术应用方,针对淘宝应用需求的JVM的优化定制是必要且收益巨大的。TaobaoJVM是基于OpenJDK VM并根据淘宝业务、应用特点及开发者需求开发的稳定,高效且深度定制的JVM版本。

阿里集团作为中国最大的Java技术应用方,针对淘宝应用需求的JVM的优化定制是必要且收益巨大的。TaobaoJVM是基于OpenJDK VM并根据淘宝业务、应用特点及开发者需求开发的稳定,高效且深度定制的JVM版本。是国内第一个优化、定制且开源的服务器版Java虚拟机。

AD:

【51CTO专访】北京时间2012年12月4日Velocity China 2012 Web性能与运维大会在北京召开,在会中51CTO记者有幸采访到了阿里集团的王琤老师,王琤老师主要负责淘宝JVM的开发工作,基于OpenJDK VM 为淘宝定制、优化更加贴近应用需求的专用JVM。而在此次Velocity大会上,王琤老师主要为大家分享了《淘宝 JVM 优化实践》。也借此机会,51CTO编辑针对淘宝JVM这个话题跟王琤老师进行了一些沟通,分享给大家。

 
王琤(长仁)(右)正在与记者探讨

以下是采访内容:

51CTO:王老师您好,很多关心JVM技术的人都知道淘宝推出了开源的优化定制JVM版本:Taobao JVM,那么和Oracle官方的JVM版本相比,在性能上有哪些优势?

王琤(长仁):一提到淘宝JVM,大家肯定是关心性能,,性能是大家直观感受到的不同。从性能上来说由于Taobao JVM经过优化定制和官方版本相比在性能上有所提升。对于具体应用来说,根据很多应用特殊的性能需求我们有相应的优化点,比如刚才讲的我们有很多的Intrinsic,这是在oracle官方版本里不可能做的,因为这些需求不是很通用。对于hotspotvm它更关注更加通用化的性能改进。而淘宝JVM更贴近淘宝的Java应用,我们可以接触到一线的性能需求,根据这些需求进行优化。所以淘宝jvm的性能提升的幅度在刚才PPT里面大家可以看到,会很有优势。这不是说我们做的比Oracle好,而是说我们更贴近于用户需求,我们按特定需求做一些特定的优化.一定会比通用的优化更好,这点是我们最有优势。

 

 

51CTO:在这个开源项目上,您主要负责哪些工作?

王琤(长仁):我主要是负责专用计算组,我们开始做taobao JVM的时候只有我一个人,那是我刚刚来到淘宝的时候开始。大家有需求说我们淘宝以前对JVM的工作其实只能停留在参数调优,深入的去改它之前没有做过。我是因为来自Oracle,对于这方面接触过一些,所以我们就成立了这个组来专门的做taobao JVM,现在我们组的一部分同学在做taobao JVM,另外一部分在做专用计算的工作。

对于淘宝jvm这个项目,我的老板---章文嵩博士最早提出来要做这块,并且给予了很大的支持,他算是最初发起人。这个工作是淘宝需要的,因为淘宝是Java技术的最大应用方,是非常需要自己定制的JVM的。

51CTO:从JVM优化、定制及相关工具开发,有没有遇到哪些问题?您是如何去解决这些问题的?能否给网友分享下?

王琤(长仁):其实遇到的问题非常多,最大的问题还是人的问题。因为刚才讲到JVM的社区是非常小的,这部分的工作没有人很熟悉它,也因为社区太小,做这个东西的人很少。因为这点,所以相关的人才很难找到。这个最大的问题也就解释了为什么我们从一开始做到成果大规模应用经历了近2年的时间,在这么长的时间里主要的工作其实就是在培养人才。我们组的绝大部分同学其实都是应届的毕业生,从应届毕业生就开始培养,经过近3年培养,他们在这个领域已经做的很不错了。所以最大的问题还是在人的问题,而不在于技术本身。人才的培养我觉得环境很重要,像我们阿里集团的核心系统部,这个环境就是一个非常好的环境。可能对于一位应届生来说,他可能刚来的时候是一张白纸,当然在这么一个技术氛围非常浓重的环境里他可以快速成长,只要他自己努力就会成长的非常好。的团队,。来到这里的应届毕业生在2-3年的锻炼能达到这个水平已经是非常好的了。有的同学经过他自己的努力、兴趣并在我们这个环境里不断磨练,已经跳到美国OracleJVM团队参与JVM核心的开发工作。昨天正明(章文嵩博士)讲到我们在向Oracle输出人才,这一方面肯定了我们的工作,当然对于我们来说其实是好事也不是好事。所以环境是比较重要的,就是说你在这个环境里头会非常快速的成长。当然也借助这个机会希望更多有兴趣的同学能够加入到我们这个环境来做更多的事情。

51CTO:从淘宝,天猫全部替换了Oracle官方的JVM版本后,您觉得淘宝JVM的价值主要体现在哪方面?

王琤(长仁):线上很多已经替换了Oracle官方版本,价值主要体现在对应用方从心理上来说他们更加放心了。因为以前的时候JVM出问题,很难得到Oracle的支持。我们在Oraclebugdb上提Bug的时候反馈很不及时。现在用了我们的jvm话,我们组就会帮助他们解决问题,并且会专门为他们的需求来做一些JVM相关的工作,他们就觉得非常的放心。我们可能不用刻意关注具体的,比如性能,指标,功能点这些,单单从这一点来说其实大家就愿意来用我们的东西,因为更贴近他们,而且我们的服务很好。对于应用来说我们基本上都是面对面的上门服务。

51CTO:是否开放共享?

王琤(长仁):对,我们到现在所有的patch都在我们的jvm.taobao.org上,所有同学都可以到上面把patch抓下来。我们贡献出来让大家一起用,同时也希望大家参与到其中,做一些贡献。开放是淘宝一个很重要的基因,,我们不仅仅是有JVM的开源,淘宝还开源了淘宝的linux kernel,MySQL,tengine,还有很多很多的应用都开源。

51CTO:淘宝Hadoop集群在淘宝内部有个美丽的名字叫“云梯”,从您认识“云梯”并从事优化工作后,您觉得淘宝当初选择Hadoop的主要原因是什么?

王琤(长仁):“云梯”我的了解也有限,我感觉阿里用云梯最主要的原因就是看到了它开源的基因,它的庞大应用群以及活跃的社区。这个基因很重要,就是说它是一个开放的系统,它的社区很活跃,它的用户很多,有像facebook,yahoo,这些公司的开发者共同在这社区里面参与hadoop的工作,,我们也是参与者,我们的益处就是我们可以分享很多别人的工作成果,同时对它有贡献。其实我们的成本很低的,很合算。而且hadoop在阿里的整个离线分析,离线计算里面做出了很多的工作,实际上我们现在“云梯”的整个系统负荷挺高的,下面跑的作业也非常的多,非常的关键,很好的体现了它的价值。所以我感觉我们选择hadoop的最主要原因是它的开放性,他很好的解决了我们的问题,同时我们可以跟众多的开发者一起让它变得更好。


目录
相关文章
|
2月前
|
Oracle Java 编译器
基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)
基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)
46 1
|
1月前
|
Cloud Native Java Docker
【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用
【Spring云原生】Spring官宣,干掉原生JVM,推出 Spring Native!整体提升性能!Native镜像技术在Spring中的应用
|
6月前
|
XML Java 测试技术
Graalvm 替代 JVM 真的可以带来巨大的性能优势吗?
介绍 Spring Boot有助于轻松开发独立的、可用于生产的 Spring 应用程序。它对 Spring 平台和第三方库采用固执己见的方法:以最少的配置简化设置过程。优势: 易于使用:Spring Boot 简化了独立 Spring 应用程序的创建,无需复杂的配置。 嵌入式服务器:它允许直接嵌入 Tomcat、Jetty 或 Undertow 等服务器,从而无需单独部署 WAR 文件。 Starter 依赖项:Spring Boot 提供预配置的“starter”依赖项,降低了构建配置的复杂性。 自动配置:Spring Boot 自动配置 Spring 和第三方库,最大限度地减少手动设置工
|
3月前
|
架构师 Java 关系型数据库
一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL
每一个程序员都有自己清晰的职业规划和终极目标,无论之后是继续钻研技术,还是转管理岗、产品岗,都是需要自己具备有一定的实力,换句话说技术要牛逼。架构师,是很多程序员的终极目标,而成为一名Java架构师,那就需要对自己自身有一定要求,不仅技术能力要过硬,还需要有组织能力和提出解决方案的能力。那么作为架构师,需要掌握哪些技术呢?
一线架构师开发总结:剖析并发编程+JVM性能,深入Tomcat与MySQL
|
3月前
|
Oracle IDE Java
基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)(下)
基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)
36 1
|
3月前
|
Java 程序员 PHP
基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)(上)
基本概念【入门、 发展简史、核心优势、各版本的含义、特性和优势、JVM、JRE 和 JDK 】(二)-全面详解(学习总结---从入门到深化)
32 0
|
3月前
|
存储 缓存 算法
jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?
jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?
57 0
jvm性能调优实战 - 34十万QPS的社交APP 如何优化GC性能提升3倍?
|
3月前
|
监控 安全 算法
深入了解JVM调优:解锁Java应用程序性能的秘诀
深入了解JVM调优:解锁Java应用程序性能的秘诀
|
6月前
|
监控 Java 中间件
104分布式电商项目 - JVM调优(性能问题)
104分布式电商项目 - JVM调优(性能问题)
26 0
|
存储 Java 块存储
JVM性能
JVM性能
102 0
JVM性能