Velocity China Web性能與運維大會在北京召開在會中記者有幸采訪到了阿裡集團的王琤老師王琤老師主要負責淘寶JVM的開發工作基於OpenJDK VM 為淘寶定制優化更加貼近應用需求的專用JVM而在此次Velocity大會上王琤老師主要為大家分享了《淘寶 JVM 優化實踐》也借此機會編輯針對淘寶JVM這個話題跟王琤老師進行了一些溝通分享給大家
王琤(長仁)(右)正在與記者探討
以下是采訪內容
王老師您好很多關心JVM技術的人都知道淘寶推出了開源的優化定制JVM版本Taobao JVM那麼和Oracle官方的JVM版本相比在性能上有哪些優勢?
王琤(長仁)一提到淘寶JVM大家肯定是關心性能性能是大家直觀感受到的不同從性能上來說由於Taobao JVM經過優化定制和官方版本相比在性能上有所提升對於具體應用來說根據很多應用特殊的性能需求我們有相應的優化點比如剛才講的我們有很多的Intrinsic這是在oracle官方版本裡不可能做的因為這些需求不是很通用對於hotspotvm它更關注更加通用化的性能改進而淘寶JVM更貼近淘寶的Java應用我們可以接觸到一線的性能需求根據這些需求進行優化所以淘寶jvm的性能提升的幅度在剛才PPT裡面大家可以看到會很有優勢這不是說我們做的比Oracle好而是說我們更貼近於用戶需求我們按特定需求做一些特定的優化一定會比通用的優化更好這點是我們最有優勢
在這個開源項目上您主要負責哪些工作?
王琤(長仁)我主要是負責專用計算組我們開始做taobao JVM的時候只有我一個人那是我剛剛來到淘寶的時候開始大家有需求說我們淘寶以前對JVM的工作其實只能停留在參數調優深入的去改它之前沒有做過我是因為來自Oracle對於這方面接觸過一些所以我們就成立了這個組來專門的做taobao JVM現在我們組的一部分同學在做taobao JVM另外一部分在做專用計算的工作
對於淘寶jvm這個項目我的老板章文嵩博士最早提出來要做這塊並且給予了很大的支持他算是最初發起人這個工作是淘寶需要的因為淘寶是Java技術的最大應用方是非常需要自己定制的JVM的
從JVM優化定制及相關工具開發有沒有遇到哪些問題?您是如何去解決這些問題的?能否給網友分享下?
王琤(長仁)其實遇到的問題非常多最大的問題還是人的問題因為剛才講到JVM的社區是非常小的這部分的工作沒有人很熟悉它也因為社區太小做這個東西的人很少因為這點所以相關的人才很難找到這個最大的問題也就解釋了為什麼我們從一開始做到成果大規模應用經歷了近年的時間在這麼長的時間裡主要的工作其實就是在培養人才我們組的絕大部分同學其實都是應屆的畢業生從應屆畢業生就開始培養經過近年培養他們在這個領域已經做的很不錯了所以最大的問題還是在人的問題而不在於技術本身人才的培養我覺得環境很重要像我們阿裡集團的核心系統部這個環境就是一個非常好的環境可能對於一位應屆生來說他可能剛來的時候是一張白紙當然在這麼一個技術氛圍非常濃重的環境裡他可以快速成長只要他自己努力就會成長的非常好的團隊來到這裡的應屆畢業生在年的鍛煉能達到這個水平已經是非常好的了有的同學經過他自己的努力興趣並在我們這個環境裡不斷磨練已經跳到美國OracleJVM團隊參與JVM核心的開發工作昨天正明(章文嵩博士)講到我們在向Oracle輸出人才這一方面肯定了我們的工作當然對於我們來說其實是好事也不是好事所以環境是比較重要的就是說你在這個環境裡頭會非常快速的成長當然也借助這個機會希望更多有興趣的同學能夠加入到我們這個環境來做更多的事情
從淘寶天貓全部替換了Oracle官方的JVM版本後您覺得淘寶JVM的價值主要體現在哪方面?
王琤(長仁)線上很多已經替換了Oracle官方版本價值主要體現在對應用方從心理上來說他們更加放心了因為以前的時候JVM出問題很難得到Oracle的支持我們在Oraclebugdb上提Bug的時候反饋很不及時現在用了我們的jvm話我們組就會幫助他們解決問題並且會專門為他們的需求來做一些JVM相關的工作他們就覺得非常的放心我們可能不用刻意關注具體的比如性能指標功能點這些單單從這一點來說其實大家就願意來用我們的東西因為更貼近他們而且我們的服務很好對於應用來說我們基本上都是面對面的上門服務
是否開放共享?
王琤(長仁)對我們到現在所有的patch都在我們的上所有同學都可以到上面把patch抓下來我們貢獻出來讓大家一起用同時也希望大家參與到其中做一些貢獻開放是淘寶一個很重要的基因我們不僅僅是有JVM的開源淘寶還開源了淘寶的linux kernelMySQLtengine還有很多很多的應用都開源
淘寶Hadoop集群在淘寶內部有個美麗的名字叫雲梯從您認識雲梯並從事優化工作後您覺得淘寶當初選擇Hadoop的主要原因是什麼?
王琤(長仁)雲梯我的了解也有限我感覺阿裡用雲梯最主要的原因就是看到了它開源的基因它的龐大應用群以及活躍的社區這個基因很重要就是說它是一個開放的系統它的社區很活躍它的用戶很多有像facebookyahoo這些公司的開發者共同在這社區裡面參與hadoop的工作我們也是參與者我們的益處就是我們可以分享很多別人的工作成果同時對它有貢獻其實我們的成本很低的很合算而且hadoop在阿裡的整個離線分析離線計算裡面做出了很多的工作實際上我們現在雲梯的整個系統負荷挺高的下面跑的作業也非常的多非常的關鍵很好的體現了它的價值所以我感覺我們選擇hadoop的最主要原因是它的開放性他很好的解決了我們的問題同時我們可以跟眾多的開發者一起讓它變得更好
From:http://tw.wingwit.com/Article/program/Java/hx/201311/26320.html