成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

淘寶長仁:JVM性能指標的理論極限和衡量方法

原創
開發 項目管理
在2013年阿里巴巴集團主辦的ADC&#8226;阿里技術嘉年華,這是一場專屬于<互聯網工程師>的“技術盛宴”,倡導<干貨分享>的大會上,51CTO記者有幸采訪到了阿里巴巴核心系統部專用計算組負責人 王琤(長仁)老師,基于Taobao JVM的各個基本性能指標的理論極限和衡量方法介紹,以幫助大家認識、評估自己的算法實現是否高效,進一步指導優化工作,以及介紹了淘寶的下一個項目:反圖像的搜索引擎技術iflake。

其實很多人都知道淘寶目前有幾萬臺Java應用服務器,上千名Java工程師以及上百個Java應用。為了應付及保障整體性能的穩定以及降低成本,在阿里巴巴核心系統研發部專用計算組的工作主要是專注于OpenJDK的優化及定制,根據自己的業務、應用特點及開發者需要,提供穩定,高效和深度定制的JVM版本:TaobaoJVM。目前已經在淘寶、天貓上線,全部替換了Oracle官方JVM版本,在性能,功能上都初步體現了它的價值。

在2013年阿里巴巴集團主辦的ADC•阿里技術嘉年華這一場專屬于<互聯網工程師>的“技術盛宴”,倡導<干貨分享>的大會上,51CTO記者有幸采訪到了阿里巴巴核心系統部專用計算組負責人  王琤(長仁)老師,基于Taobao JVM的各個基本性能指標的理論極限和衡量方法介紹,以幫助大家認識、評估自己的算法實現是否高效,進一步指導優化工作,以及介紹了淘寶的下一個項目:反圖像的搜索引擎技術iflake。

[[82229]] 

王琤(花名長仁),阿里巴巴核心系統部專用計算組負責人。在阿里巴巴致力于專用計算的推廣及實踐,以追求最佳性能及性耗比為目的為特定應用針對特定硬件架構進行算法及實現優化。在圖像搜索、機器學習等領域,針對特定 CPU 微架構, GPGPU等不同體系結構進行關鍵算法及實現進行優化并獲得了指數級的性能提升。同時負責淘寶JVM的開發工作,基于OpenJDK VM 為淘寶定制、優化更加貼近應用需求的專用JVM。

以下是采訪實錄:

記者:對于Taobao JVM我們都知道目前淘寶產品全部都替換了原來的Oracle官方版本,那么Taobao JVM在這方面的性能提升比較大還是基于自己的產品比較放心?

長仁:我們之前在線上推廣taobao JVM,其實性能方面是次要的。因為性能比Oracle官方的版本肯定是要提升,但提升不是特別大,除非它應用會利用到taobao JVM的某一個性能特性,它可能獲得十倍的提升,這是有可能的。但是在通常情況下,線上的應用是各種各樣的。當各種各樣的應用在淘寶時,如果看到GC,那么我們可能有提升20%到30%左右,但是從性能角度來說,整體性能跟官方的產品領先幅度不是非常的大。

我們為什么要做呢?其實主要是從運維上考慮。我們成立了一個版本,并且這個版本是淘寶自己來維護的,這樣在將來我們一旦出現問題后,因為這是我們自己版本,所以我們直接就可以找到相應版本的代碼來檢查,到底問題出在哪兒?這樣我們解決問題會很快,同時我們的支持力度會很好。同一個版本,在升級這些方面運維成本會很低。同時我們有一個很好的支持,就是我們可以更好地幫助運維同時來解決系統出現的問題。這是最大的考慮。

記者:主要還是說自己的產品比較放心,運維這塊成本比較低。

長仁:是的。這個東西是我們做的,出了問題,有一個專門旺旺群,會在那里面報一下他們的號,我們就幫他們去支援,就是這樣,很方便。

記者:你目前在做一下淘寶性能優化,性能方面有沒有遇到哪些瓶頸?比較困難的。

長仁:性能方面最大的問題就是需求,對于我們來說,如果有需求,你把性能提上去,這不是一個大問題,因為這是技術問題。最大的問題是什么?我們不了解應用的話,我們不能直接的一個渠道應用就告訴我們哪兒有問題,第一,比如說我的系統,假如說現在不知道究竟這個是高是低?有可能說120,最高的極限。有可能500是極限,但是誰也不知道。一般的程序員覺得自己的程序沒有問題的,很多程序員都會這么認為,性能也沒有問題,符合我們的設計,其實這樣就夠了。所以我們可能沒有很多的機會去真正接觸到一線的應用,來看它們里面還有什么提升?對于這些來說,其實應用方面和開發者來說,覺得現在性能夠用了。我們真正面對的問題都是出現了性能不夠用的時候,上線不了,性能沒達標。這個時候就會接觸,這種機會不多的。

對于我們來說,我們能夠把性能做到極致,必須有一個前提,就是說我們要針對確定的應用來做,究竟是哪兒有問題你來做。假如說讓我們做一個產品,放在任何的應用上都可以跑的很快,那就是Oracle的產品,那已經做了。所有Oracle的人做的工作都是給你一個平臺,跑什么都OK,不是最快,但是已經應該滿足它的需求了。

我們做通用性能提升,這個是我們做不了的,因為什么?對于通用性能提升,我們能改,大家想到的能改的東西,其實Oracle的人已經做了。我們做的點,其實你看我們做通用性能提升,我們現在的patch。唯一的就是編譯級的優化,能夠把這些性能提升。第二點,比如說我們再做一些微調,也能把性能稍微再提升。但是也就這些,再說給一個通用的東西做到,用之四海而皆準,這些東西是非常難。因為有那樣的東西,Oracle的人肯定也想到,也做了。我們的特點是確定應用,你有特定的需求,我針對你的特點做優化,這是我們擅長的,在專的情況下我們才有機會。

記者:我們都知道TaobaoJVM是基于OpenJDK HotSpot VM深度定制的,您認為Taobao JVM的天花板是否還是取決于OpenJDK HotSpot VM?

長仁:從通用的角度來說,我們會給它做的好一點,但是不會好的非常多,從專用的角度來說,我們肯定能夠突破它,舉個例子像Hadoop的優化,在做taobao JVM我們用一種新的指令,把它能提高將近十倍的性能。這些在Oracle的JVM是不提供這個支持的。對于我們來說,我們就完全把這個做出來,做出來以后線上就用,這個就是確定領域的話,能給它確定需求、確定應用,我們可以針對它的特點,做出很不一樣的東西。

記者:之前咱們聊的時候,我記得您說做一個關于JVM優化的一些工具。

長仁:我們現在確實是在做一個,做一個是有關JVM的診斷優化系統。最主要的目的是什么?就是說我們其實剛才講了,我們有一個旺旺群,在這個群上我們會回答運維同行、開發同行的各種問題。其中很多的問題就是,我們線上的應用很大,不是現在的所有都用淘寶這邊的業務,還有Oracle版本出現。JVM Crash,或者說GC有點異常,這個時間很長,他們可以問問題,這個問題我們上層有一套數據流程,我們上層去做一些診斷,看一些Crash log,GC log,然后來排查問題,究竟哪兒出了問題,這么一個過程。

很多運維、開發同行說,貌似這個東西,我們自己解決不了,只能靠你們。希望我們的支持能夠固化下來,提供一個東西,能把一些基礎的問題、簡單問題,幫助我們排查出來,我們其實也覺得很累。我們去年一年處理的線上的Crash問題是52起,平均一周一起,平均處理一次的時間大概一到三天。所以你看光是一個快速問題,我們自己也非常想有一個工具。出了問題,你先用這個系統查一下,它會告訴你,我們經常碰到一些簡單問題,就告訴你基本的原因,假如說有一些詭異的我們再應用系統,這個系統其實就叫JVM診斷系統。大名JVM故障排查系統,小名還沒起好,這個東西已經快做好了。

記者:怎樣工作,它的主要功能?

長仁:就是說到時候線下那臺機器出問題了,GC問題,還是說JVM Crash,你只要在我的系統里告訴我這個機器IP是什么?你點一個鈕,你上去就把Crash log,GC log還是我們其他的一些日志抓下來。抓下來以后,我們有一個分析系統,大致地就告訴你,一個簡單問題就能告訴你,你這個Crash是因為什么問題?GC頻度有多少?有什么問題?潛在有什么問題?應該朝哪個方向去想?等等就告訴你這些簡單的,這樣運維同學就很愿意使,我自己有些簡單問題,我也能解決,我依靠那個系統去。所以我們來說,我們相當于用這個系統過濾了一些簡單問題,剩下復雜的我們再解決。就是這個東西,這個東西馬上就要開放了。我們現在淘寶的內部先使,以后很有可能要開放出去,我們自己使好了,肯定要開放出去。

#p#

記者:恩,那么能否介紹一下你們目前在做的反圖像的搜索引擎iflake,這是一個什么樣的東西?主要應用在哪一塊?

長仁:最好回答這個的話是我們圖像組的回答是最合適的,我們的了解對于它,以及這個應用,我們了解都是很片面的。片面的我介紹一下,阿里集團有一個世界一流的圖像搜索。

這個跟其他的圖片搜索是不一樣的,比如你現在使用哪張圖,那些東西很多人使用。它是基于神經網絡,我對這些方面不了解,但是圖像組的雷音跟我說,目前基于神經網絡的準確率只能達到大約百分之三四十,雷音他們用的實際上是更傳統的方法。它的準確率能夠到百分之八九十。

我們淘寶有一個重要業務,比如盜圖,你拍了一張照片放到淘寶上,別的商家就盜你的圖,他就不用拍了。我們就要找到這個圖片跟這個是不是一個圖,它在這里面做剪裁,或者是說里面打上幾個字,我也要能區別出這幾個是不是一個圖片。圖像搜索,一個應用方面就是應用在這兒。用在這兒以后,它可以打相似的圖片搜索,具體的實現方式是算法問題。我們IC的是什么?其實就是整個系統一部分,這一部分要做什么?其實就是要把圖像最終提取完特征點以后,它實際上跟傳統搜索基本上一樣,都是有DAO。包括影像。每個DAO上的ID,ID之間根據你的要求進行ID的合并。

我們主要做的話就是這個優化,為什么要做這個?是因為原來淘寶的這個圖的規模,圖片的規模,分到不同機器上,每一臺機器是千萬張信息,一千萬張圖片。在這個規模下,原來的計算實現的算法可以做什么?基本上會做到一臺機器QPS十幾,就是說我們每秒鐘能處理十幾次的這種請求來進行合并,這個結果就出來了。當我們的規模擴到億量級,從千萬到一億擴大十倍以后,一臺機器的話,基本上一秒才能處理一次請求。這個完完全全的不能符合上線的預期,這個性能太差了。那怎么辦?增加十倍的機器可以解決問題,但是這個開銷很大。

我們組就介入了,我們來看一看這個東西怎么來優化,優化的結果就是,同樣的機器的話,我們把性能提升10倍,但原來的千萬量級,我的QBS能上百,到億量級的話,我也能保證跟原來是一樣的。相當于你不用加十倍的機器了,現在你數據量提高十倍以后,我整個的性能跟原來差不多,還是滿足你需求的,我們做的是這個。

記者:我想了解除了商家積極地應用這個技術以外,像用戶,我看到的這個東西,我不知道它是什么,通過這個圖片去搜索出來。

長仁:對,以圖找圖也是它的應用的典型之一,你看到這個東西,我想把它買下來,我拿手機一拍,淘寶上這一類的,這個東西在淘寶上列出來,這也是應用之一。應用很多,圖像搜索在淘寶的應用,以后會越來越多。

記者:畢竟在淘寶上圖片占用的比例是比較大的,還有一個就是,一般來講,通過什么樣的設施和手段知道他們的極限性能在哪里?

長仁:方法很多。對于我們來說,接觸到一個系統,首先做一個整體的profiling,先看最后,你們會看到,算的最慢的那部分在哪兒?那一部分占整體計算時間的80%,舉個例子,那我們去優化它,優化好了這個收益就會很好。比如說我有80%,CPU都耗在80%那一塊,我把它提升了20%,那相當于議程是16的差異。如果優化了20%,我假如說能快一倍,占的比例由于很小,所以整體提升很大。所以我們第一步就是,起碼最弱的部分找到,找到以后,然后看究竟是由于什么原因造成它跑的慢,是算法的問題、實現的問題,還是說各種各樣的問題,我們會把這一部分進行優化。優化完了以后就會上線測試。

記者:這個還是通過你剛才說,很多方法。你們在做淘寶X86平臺優化的時候,你們碰到過,剛剛說過的天花板,就是一個極限。這個極限,能不能突破這個極限?

長仁:可以突破的,第一我們換正適合的硬件。天花板就可以,它天然的不同的硬件上,它的天花板是不同高度的,有的話它自然就高了,這是有可能來獲得突破的。第二個點,假如硬件固定了,天花板在那兒,有可能天花板那兒是因為你實現的原因,你非要這么算,天花板這么高。你換一種算法,實現方式改變了之后,沒準天花板就變得更高了。這樣的話,你就更有可能突破。舉個例子比如從計算量,假如說A的算法的實踐,我們計算量需要什么?假如說需要一百萬次。換一個算法實現的話,發現A計算量只需要五十萬次。這樣的話,相當于無形中就高了,那我就能往上更走一步。

記者:對于天花板來說,一般是做到滿足自己的應用需求,不會去說盲目把性能提高,你們隊這個性能的點是如何理解的。

長仁:這是非常重要的一個問題,優化到什么程度結束?滿足剛才講的曲線,工作曲線有一部分是花的時間比較少,但是性能提升會很明顯。那一部分其實就是我們所謂的工作的甜點區,這一部分花的時間不用很多就能提到很高,如果這個時候用戶已經滿足了需求,OK,就到此為止了。為什么?因為既然應用已經滿足需求了,我們花的時間再把它進一步提升的話,對于應用方來說,他覺得這個部分沒有太大的改善。而且越往上的話會越難做,這是肯定的。所以這樣的話,如果達到應用需求,我們可能去做其他的項目,接著做另外的東西。這一部分只要用戶滿足需求了,我們就可以適可而止,這樣也節約我們的時間。我們不是為了一定要尋求一個極致來去做,因為尋求一個極致,有的應用要求水平很高,要求達到一個什么,那時候必須要到極致才可能達到。但是很多應用,我們現有的機器,規模一變的話,你也能滿足我了,他們就滿意了。滿意以后,這個就適可而止。

記者:如果說這部分的性能天花板特別高的,但是說你們只要優化一點點,優化一些,就能提升數十倍。就是說你們還可以通過這些小小的優化,還可以把性能再一次提高。但是不需要浪費太多的時間,這種優化你們會不會考慮去做?

長仁:有時候會考慮,我舉個例子iflack,剛才講了能提高十倍。實際上它再提升50%,十倍假如是1的話,再提高到1.5其實也是可能的。這個花的時間我也估計過,其實我們這邊做的工作很少,不多。但是整體的為了這50%,原始做的那些東西要進行重新索引。這樣的話對于工程方面、運維方面會有一個成本,這個成本是我們估計不了的。但是這個成本我們知道,比我們的成本高很多。為了這50%有沒有必要?我們也不知道,所以我們要征求應用方的意見。其實iflack做十倍,其實根本就不是極限,還能再做。我們也知道該怎么做能再提升50%,但是由于各種各樣的因素,因為不是就我們自己,我們是一個整體。有應用方、運維方,都要考慮到他們相應的成本付出了多少,必須把這個考慮進去。權衡之下來決定,我們做不做?什么時候做?這不是我們決定的。

責任編輯:林師授 來源: 51CTO.com
相關推薦

2022-05-02 08:56:04

前端性能指標

2011-06-07 14:16:38

雙絞線

2011-05-04 13:53:08

jQuery

2024-09-20 08:32:21

2023-11-20 09:48:13

Linux性能指標命令

2013-06-17 10:19:30

交換機性能交換機參數交換機

2010-09-08 11:38:27

2009-11-26 15:32:49

VS2005性能

2011-07-28 14:58:49

HP ProLiant服務器

2023-11-25 20:16:22

前端

2023-12-17 14:49:20

前端首屏時間

2023-12-29 15:30:41

內存存儲

2010-07-28 09:25:41

jQueryJavaScript性

2023-05-19 07:49:50

2017-02-22 11:51:11

FortiGate企業級防火墻NGFW

2009-12-11 15:17:35

2024-06-28 11:54:20

2018-01-04 09:23:21

WEB服務器性能

2020-10-19 08:53:08

Redis性能指標監控

2023-09-08 15:37:29

軟件開發性能
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 国产乱码精品一区二区三区五月婷 | 国产丝袜一区二区三区免费视频 | 亚洲国产精品一区二区久久 | 久久精品中文字幕 | 91网站在线看 | 日本精品一区二区三区在线观看视频 | 麻豆久久久 | 99视频网| 欧美性久久| 精品国产1区2区3区 一区二区手机在线 | 91欧美激情一区二区三区成人 | 久久一区二区三区电影 | 九九热精品视频 | 91精品国产自产精品男人的天堂 | www.欧美.com | 欧美激情一区二区三级高清视频 | 伊人网伊人| 91精品国产一区二区三区香蕉 | 亚洲欧美日本在线 | 一区二区av在线 | 久久国产精品一区二区三区 | 欧美一级免费看 | 69亚洲精品 | 精品不卡 | 久久新 | 激情五月婷婷在线 | 五月激情综合网 | 欧美一级做性受免费大片免费 | 欧美日韩一区精品 | 欧美在线一区二区三区 | av午夜激情 | 特黄特色大片免费视频观看 | 97精品国产97久久久久久免费 | 天天弄天天操 | 在线免费观看日本视频 | 亚洲欧美一区二区三区在线 | 爱爱爱av | 密桃av| 久久99精品久久久久久 | 午夜三级视频 | 九九免费观看视频 |