自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

51CTO專訪章文嵩博士:做系統(tǒng)要先了解業(yè)務(wù)的需求

原創(chuàng)
系統(tǒng)
在今年剛剛結(jié)束的O'Reilly Velocity China 2011會(huì)議上,51CTO編輯有幸采訪到了目前就職淘寶的章文嵩博士,請(qǐng)他對(duì)淘寶這幾年核心系統(tǒng)優(yōu)化團(tuán)隊(duì)的工作,以及他個(gè)人所關(guān)注的方向進(jìn)行了介紹。章文嵩博士目前主要負(fù)責(zé)基礎(chǔ)核心軟件研發(fā)、推進(jìn)網(wǎng)絡(luò)軟硬件方面的性能優(yōu)化、搭建下一代高可擴(kuò)展低碳低成本的淘寶電子商務(wù)基礎(chǔ)設(shè)施。

【51CTO獨(dú)家專訪】中國Linux運(yùn)維界的朋友們多半都知道章文嵩博士,因?yàn)樗麕淼拈_源項(xiàng)目LVS,企業(yè)們不必采購昂貴的F5、思杰等商用負(fù)載均衡器,而是可以在開源的Linux服務(wù)器上構(gòu)建自己的負(fù)載均衡和高可用集群。在今年剛剛結(jié)束的O'Reilly Velocity China 2011會(huì)議上,51CTO編輯有幸采訪到了目前就職淘寶的章文嵩博士,請(qǐng)他對(duì)淘寶這幾年核心系統(tǒng)優(yōu)化團(tuán)隊(duì)的工作,以及他個(gè)人所關(guān)注的方向進(jìn)行了介紹。

嘉賓簡(jiǎn)介

章文嵩博士
左為51CTO編輯,右為章文嵩博士

章文嵩博士是淘寶網(wǎng)的高級(jí)研究員,主要負(fù)責(zé)基礎(chǔ)核心軟件研發(fā)、推進(jìn)網(wǎng)絡(luò)軟硬件方面的性能優(yōu)化、搭建下一代高可擴(kuò)展低碳低成本的淘寶電子商務(wù)基礎(chǔ)設(shè)施。他也是Linux內(nèi)核的開發(fā)者,著名的Linux集群項(xiàng)目 —— LVS (Linux Virtual Server)的創(chuàng)始人和主要開發(fā)人員,LVS集群代碼已在Linux 2.4和2.6的官方內(nèi)核中,并得到廣泛的應(yīng)用。在架構(gòu)大型系統(tǒng)、系統(tǒng)軟件開發(fā)、Linux操作系統(tǒng)、網(wǎng)絡(luò)和軟件開發(fā)管理上有著豐富的經(jīng)驗(yàn)。他一直在自由軟件的開發(fā)上花費(fèi)時(shí)間,并積極推動(dòng)開源活動(dòng)在中國的發(fā)展。

51CTO:您到淘寶兩年多來,一開始主要是LVS和HAproxy的大規(guī)模普及,之后做了很多CDN系統(tǒng)的改良工作,今年又推出GreenCompute項(xiàng)目。能介紹一下這幾年工作的整體規(guī)劃思路嗎?

章文嵩:優(yōu)化其實(shí)是個(gè)一直持續(xù)的工作。最早,淘寶的CDN用的是商用的調(diào)度負(fù)載均衡器Citrix NetScaler,這是當(dāng)時(shí)業(yè)界***的負(fù)載均衡器。但是淘寶因?yàn)橐?guī)模越來越大,容量也很大,有很多針對(duì)小圖片方面的需求,用Citrix就遇到很多問題。比如流量方面,小圖片造成的請(qǐng)求特別多,但是萬兆網(wǎng)卡的流量只能到3G,一旦流量超過3G,哪怕只是到了4G,系統(tǒng)就會(huì)崩潰。這不僅是前面的負(fù)載均衡,在后端的緩存服務(wù)器上也是。在CDN系統(tǒng)中,圖片處理的挑戰(zhàn)***,相比視頻那種連續(xù)的數(shù)據(jù),圖片這種很小的、比較離散的數(shù)據(jù),對(duì)硬盤的訪問要求很高。淘寶在2008年底到2009年初左右,曾經(jīng)一度全用SSD,這樣下來一個(gè)CDN的節(jié)點(diǎn)造價(jià)就會(huì)比較高,要花掉兩百萬左右的錢,還要再加上商用的負(fù)載均衡器。而且剛才也說了,一個(gè)NetScaler流量只能提供到3G,兩臺(tái)加起來也就只有6G,而且兩個(gè)NetScaler還不敢用心跳線,因?yàn)樗m然支持這個(gè)功能,但是萬一有一臺(tái)壞掉,6G的流量完全轉(zhuǎn)移到另一臺(tái),那結(jié)果肯定會(huì)崩潰掉。所以這就是商用系統(tǒng)的問題:在特別的負(fù)載情況下,它是不適用的。

所以我們就開始逐步改造。用LVS+HAproxy,在硬件高配的情況下,一個(gè)節(jié)點(diǎn)跑到100G都沒問題。成本方面,后端肯定不能無限制的花錢,我們就開始用混合存儲(chǔ),SATA、SAS和SSD都有。經(jīng)過優(yōu)化之后,效果做到跟SSD差不多,存儲(chǔ)空間更大,命中率更高,像我們現(xiàn)在有些高的,命中率可以做到98%。那么現(xiàn)在我們一個(gè)***標(biāo)準(zhǔn)的CDN節(jié)點(diǎn),流量在10G,成本已經(jīng)優(yōu)化到50萬;如果低功耗的話,還可以進(jìn)一步優(yōu)化到37萬。這個(gè)項(xiàng)目我們以后還會(huì)持續(xù)優(yōu)化,因?yàn)閮?yōu)化無止盡嘛,我們追求的目標(biāo)是更好的用戶體驗(yàn),更短的響應(yīng)時(shí)間,同時(shí)還要花更少的錢。

響應(yīng)時(shí)間是我們最關(guān)注的指標(biāo),因?yàn)樗苯佑绊懙接脩舻捏w驗(yàn)。其實(shí)淘寶目前在圖片的優(yōu)化方面做得算還不錯(cuò),好比今年雙十一的時(shí)候,我們***跑到了820G的瞬間流量,這在世界上可能也是一個(gè)記錄了。其實(shí)你現(xiàn)在打開一個(gè)淘寶的網(wǎng)頁,圖片加載的速度已經(jīng)挺快了,目前我們圖片請(qǐng)求的平均響應(yīng)時(shí)間已經(jīng)在10ms以下;但我們還會(huì)進(jìn)一步挖掘,看能不能到9ms以下或8ms以下,讓它加載的更快。雖然說,越往下面挖掘,難度會(huì)越來越大,但是這也是值得去做的,因?yàn)槲覀兊囊?guī)模很大。而且為了讓用戶體驗(yàn)好,我們多花點(diǎn)錢也是應(yīng)該的。

另一方面,網(wǎng)絡(luò)傳輸這一塊也往往是瓶頸。一個(gè)圖片請(qǐng)求發(fā)過來,硬盤的處理時(shí)間算10ms,但是在網(wǎng)絡(luò)傳輸方面,CDN部署的好的情況,可能會(huì)占用20ms,萬一網(wǎng)絡(luò)有問題的時(shí)候就可能到70、80ms。所以網(wǎng)絡(luò)協(xié)議的優(yōu)化方面,可以挖掘的空間可能會(huì)更大一些。

51CTO:順便問一句,現(xiàn)在淘寶是完全用自己的CDN嗎?

章文嵩:現(xiàn)在我們絕大部分都是用自己的CDN,因?yàn)闆]有一家CDN公司能夠承受我們那么大的流量。而且這里面還有個(gè)規(guī)模效應(yīng),自己做,可以做的更加深入。應(yīng)該說CDN這方面,我們目前的技術(shù)是領(lǐng)先的。當(dāng)然,也不排除有時(shí)在進(jìn)行促銷活動(dòng)的時(shí)候,如果用戶流量超過了我們的承載能力,那個(gè)時(shí)候也有可能會(huì)采用外部的CDN服務(wù)來緩沖一下。

51CTO:您這次在Velocity大會(huì)上主要講的是GreenCompute的項(xiàng)目。這個(gè)項(xiàng)目是完全自己做的,還是通過借鑒一些案例來做呢?

章文嵩:GreenCompute項(xiàng)目是綠色計(jì)算嘛,我們最早做的項(xiàng)目就是低功耗服務(wù)器。

2008年的時(shí)候,我自己在做一個(gè)ARM下載盒的項(xiàng)目,400MHz,裝的Linux系統(tǒng),空閑時(shí)候的功耗只有1W,接外部大容量硬盤的情況,滿負(fù)荷跑起來也就是9W。當(dāng)時(shí)做這個(gè)的時(shí)候,因?yàn)榭紤]到互聯(lián)網(wǎng)上的很多應(yīng)用都是數(shù)據(jù)密集型的,這些應(yīng)用主要的任務(wù)都是硬盤讀寫和網(wǎng)絡(luò)傳輸,實(shí)際的計(jì)算并不復(fù)雜,用不到多少CPU資源。相比一個(gè)高性能的服務(wù)器放在那里跑,空閑情況都有200W的功耗, 這種應(yīng)用用低功耗服務(wù)器來跑是非常劃算的。而低功耗服務(wù)器方面,選擇不同的處理器,功耗和效果都會(huì)有所不同,主要考慮的是一個(gè)平衡點(diǎn)的問題,跟你的應(yīng)用性質(zhì)有很密切的關(guān)系。

國外大學(xué)對(duì)這方面的研究蠻多的。2009年5月份,HotOS(美國一個(gè)操作系統(tǒng)熱點(diǎn)主題的會(huì)議)上有一個(gè)CMU(卡內(nèi)基梅隆大學(xué))的同仁做的一個(gè)FAWN Cluster,他就是拿AMD那個(gè)500MHz的Geode處理器,加上我們照相機(jī)用的那種4G的CF卡,加上256MB的內(nèi)存,這樣下來一片的整體功耗只有不到4W,這個(gè)在當(dāng)時(shí)MIT的Technology Review上報(bào)道過。另外,美國加州大學(xué)圣地亞哥分校(UCSD)也有對(duì)Gordan架構(gòu)的研究,那個(gè)是用Atom處理器做的低功耗服務(wù)器。每一家設(shè)計(jì)的都是針對(duì)自己獨(dú)特的應(yīng)用,效果都不錯(cuò),對(duì)我們業(yè)界來說是很好的參考。

2009年底,我們立項(xiàng)要做低功耗的項(xiàng)目,選擇了當(dāng)時(shí)我們掌控的比較好的CDN系統(tǒng)。CDN因?yàn)閷?duì)數(shù)據(jù)的安全性要求不是太高,畢竟上面都是緩存,數(shù)據(jù)丟了就丟了,全局系統(tǒng)可以隨時(shí)把壞掉的節(jié)點(diǎn)切走,對(duì)用戶的影響低,所以這個(gè)低功耗服務(wù)器就專門針對(duì)CDN應(yīng)用進(jìn)行定制。這中間經(jīng)歷了很多事情,整個(gè)過程并不很順利,最終成功弄出來,也要感謝很多參與的廠商,像威盛,Intel,還有超微??傊覀冏罱K還是把這個(gè)基于Atom的服務(wù)器用起來了,而且性能優(yōu)化效果目前跟其他的Intel處理器相比,效果是***的。

低功耗服務(wù)器做出來之后,我們希望在業(yè)界有更多應(yīng)用,因?yàn)榫G色環(huán)保嘛,所以就把這個(gè)項(xiàng)目開源出來。剛才你不是提到Facebook的OpenCompute項(xiàng)目嗎,這個(gè)項(xiàng)目在低功耗方面的內(nèi)容其實(shí)是比較缺的。我們跟他們開過電話會(huì)議,看是否能夠?qū)⑽覀兊倪@些規(guī)格、CDN應(yīng)用的測(cè)試數(shù)據(jù)等文檔都放到OpenCompute項(xiàng)目里面去,不過因?yàn)榉N種原因,一直沒有落實(shí)。后來我們就想,其實(shí)可以自己建一個(gè)綠色計(jì)算的網(wǎng)站greencompute.org,這樣自由度更大一點(diǎn)。當(dāng)然這個(gè)以后也是可以跟OpenCompute合作的,我們的文檔放他們那邊或者做個(gè)鏈接過來,我們這邊也介紹OpenCompute項(xiàng)目,這些未來可能性都存在。

其實(shí)低功耗服務(wù)器在整個(gè)綠色計(jì)算里面只是一個(gè)小環(huán)節(jié),服務(wù)器還包含高性能服務(wù)器,服務(wù)器之外還有網(wǎng)絡(luò)設(shè)備,機(jī)架,直流供電的電源,到整個(gè)數(shù)據(jù)中心的設(shè)計(jì),都應(yīng)該是綠色計(jì)算的范疇。而且我們現(xiàn)在定制的只是一款A(yù)tom D525的機(jī)器,實(shí)際上低功耗也可以有很多款機(jī)器的。所以現(xiàn)在我們做的只是其中很小的一部分,分享出來,也是希望大家都能參與進(jìn)來,尤其是也在關(guān)注綠色數(shù)據(jù)中心的互聯(lián)網(wǎng)企業(yè)。如果大家都能參與進(jìn)來,對(duì)業(yè)界會(huì)是一個(gè)很好的促進(jìn)。我們現(xiàn)在跟業(yè)界同仁已經(jīng)在聯(lián)系這方面的事情,目前正在進(jìn)展中。

51CTO:希望GreenCompute能夠成為國內(nèi)的一個(gè)標(biāo)準(zhǔn)嗎?

章文嵩:其實(shí)這個(gè)也沒有國內(nèi)國外的差別,我們這個(gè)低功耗的項(xiàng)目也有英文的文檔,無論是國內(nèi)還是國外的同仁拿去借鑒參考,我們都很高興。找國內(nèi)的同仁們主要是在語言交流方面的成本比較低,會(huì)更容易做一些,其實(shí)本身這個(gè)項(xiàng)目是沒有任何國界的。

51CTO:您對(duì)底層系統(tǒng)工程師有什么建議嗎?比如未來三年需要掌握哪些技術(shù)之類的。

章文嵩:說實(shí)話,我沒有那么好的預(yù)見性啦。我自己覺得,做系統(tǒng),或者做基礎(chǔ)架構(gòu)設(shè)計(jì),最重要的是先去了解業(yè)務(wù)的需求。整體的需求是怎么樣?訪問的特點(diǎn)是怎么樣?很多時(shí)候要去做取舍。我們?cè)O(shè)計(jì)架構(gòu)的,或者設(shè)計(jì)系統(tǒng)的,或者哪怕是優(yōu)化,很多時(shí)候都是做取舍的過程。對(duì)這個(gè)應(yīng)用來說,什么是最重要的?我要抓住最重要的,而那些不太重要的,我就簡(jiǎn)單的做,或者不怎么做。把最主要的抓住,就能夠針對(duì)每一個(gè)應(yīng)用把性能做到***。尤其是規(guī)模特別大的系統(tǒng),哪怕我性能只是優(yōu)化了1%,那么對(duì)于1萬臺(tái)機(jī)器的環(huán)境,這就意味著可以節(jié)約100臺(tái)。規(guī)模足夠大的環(huán)境,這種優(yōu)化值得去很深入的做。你的規(guī)模有多大,決定了你的研發(fā)成本是否值得——這個(gè)過程本身也是要做取舍的。

我在大二的時(shí)候,幫老師寫過一個(gè)Huffman壓縮算法,當(dāng)時(shí)就覺得,這個(gè)Huffman壓縮算法真棒啊,它把高頻度的用很短的字節(jié)表示,出現(xiàn)頻度低的就用較長的字節(jié)表示。它這個(gè)比以往的要優(yōu)化很多,當(dāng)時(shí)就給我很大的觸動(dòng)。其實(shí)我們?cè)谏钌弦彩且粯拥模菏裁词亲钪匾?,我就?huì)花***的力氣去解決。

所以在我看來,不存在放之四海皆準(zhǔn)的事情。通用的方案在性能上一定會(huì)有損耗,而規(guī)模越大,越需要深入的做下去。

51CTO:所以對(duì)工程師而言,了解需求,發(fā)現(xiàn)問題才是最重要的,至于要學(xué)什么技術(shù)都是之后要考慮的事情啦?

章文嵩:是的。因?yàn)閲@一個(gè)問題去做,這種學(xué)習(xí)是比較高效的。碰到問題我要去解決問題,在這個(gè)過程中不斷的學(xué)習(xí),會(huì)成長的很快。

51CTO:那您能談?wù)勛约哼@一年個(gè)人發(fā)展的情況和感悟嗎?

章文嵩:我個(gè)人發(fā)展???因?yàn)槲覀兪亲龅讓踊A(chǔ)平臺(tái)的建設(shè)嗎,追求的目標(biāo)其實(shí)有很簡(jiǎn)單的指標(biāo)擺在那里的。首先是穩(wěn)定性:4個(gè)9,5個(gè)9,或者更高?然后是性能:性能是否有更大的優(yōu)化空間?再就是成本:成本是不是可以更低?幾個(gè)維度的指標(biāo)都在那里,我們要做的其實(shí)就是不斷的優(yōu)化。

有新的技術(shù)出來我們當(dāng)然也很關(guān)注,好比我們很早就在研究PCIe的Flash Card,它在非易失性存儲(chǔ)當(dāng)中是最快的,比SATA接口的SSD還要快10倍。對(duì)新的硬件,新的架構(gòu)和技術(shù),我們是一直不斷在學(xué)習(xí)的。

手機(jī)方面,我們也會(huì)研究如何能讓手機(jī)平臺(tái)的用戶訪問的更快,需要在后臺(tái)做什么支撐,比如JS打包在Server端做掉,針對(duì)容易丟包的手機(jī)無線網(wǎng)絡(luò),我們?cè)诰W(wǎng)絡(luò)協(xié)議方面是否能做一些工作,這些我們也一直在關(guān)注的。

51CTO:好的,本次采訪到此結(jié)束。感謝章文嵩博士接受我們的采訪!

【編輯推薦】

  1. 資深架構(gòu)師Theo談統(tǒng)計(jì)學(xué),業(yè)務(wù)與運(yùn)維工程師的成長
  2. 架構(gòu)師不可不知的十大可擴(kuò)展架構(gòu)
  3. 專題:架構(gòu)師最怕程序員知道的10件事
責(zé)任編輯:yangsai 來源: 51CTO.com
相關(guān)推薦

2012-07-13 02:49:00

章文嵩開源ADC2012

2011-01-04 15:29:30

開發(fā)技術(shù)

2011-05-11 13:01:55

2011-11-01 12:15:16

TechEd 2011

2012-07-13 09:58:06

WEBWEB前端性能優(yōu)化

2010-08-26 08:57:04

AndroidAndroid開發(fā)

2011-12-23 16:13:25

2009-11-13 04:23:12

云計(jì)算Gartner專訪

2011-09-08 13:50:51

51cto 51CTO

2011-06-01 16:35:50

51CTO投稿

2011-09-08 13:26:27

51cto 51CTO

2010-11-22 17:06:34

基礎(chǔ)業(yè)務(wù)管理

2017-05-16 10:34:59

2011-05-20 08:56:55

Office應(yīng)用訪談金山

2010-12-10 13:21:47

51CTO博客大賽

2011-09-20 11:07:58

51CTORSS

2009-08-07 11:45:58

云計(jì)算SOA虛擬化

2014-03-05 18:57:31

2015-11-02 10:50:14

51CTO

2010-08-11 08:35:00

Scala 2.8Scala創(chuàng)始人Martin Oder
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)