搜狐服務(wù)器效率提升六倍的秘密
江南 發(fā)表于:13年07月10日 11:11 [原創(chuàng)] DOIT.com.cn
假如你瀏覽一個網(wǎng)頁,30秒鐘后網(wǎng)頁還沒有打開,那你還會在這個網(wǎng)站停留么?相信大部分人會選擇離開。對于互聯(lián)網(wǎng)服務(wù)型企業(yè)來說,速度就是生命。這個速度既指企業(yè)提供新產(chǎn)品新服務(wù)的能力,又指服務(wù)的響應(yīng)快慢給用戶帶來的使用體驗。Sohu.com作為一家立足中國的大型 Web 服務(wù)提供商,每天有超過1億的用戶使用搜狐公司提供的各種互聯(lián)網(wǎng)信息產(chǎn)品。因此保障和優(yōu)化現(xiàn)有產(chǎn)品以及新產(chǎn)品的用戶體驗成了搜狐公司的重中之重。作為主要負責搜狐公司網(wǎng)絡(luò)運營、搜狗搜索、郵件和搜狐通行證等業(yè)務(wù)的搜狐公司技術(shù)副總裁周霖,這項任務(wù)理所當然地落在了他和他的技術(shù)團隊身上。
“搜狐發(fā)展到今天,已經(jīng)成為了一個門戶矩陣。近年來,隨著視頻和移動應(yīng)用的發(fā)展,移動用戶增長飛速。而公司給我們技術(shù)部門的目標是在發(fā)展業(yè)務(wù)的同時盡量減少投入,同時響應(yīng)速度更快。”周霖表示。為此,搜狐技術(shù)部門決定在統(tǒng)一前端平臺的基礎(chǔ)上,深入挖掘現(xiàn)有硬件和軟件、系統(tǒng)的性能,以產(chǎn)生規(guī)模效應(yīng),并在提升用戶服務(wù)質(zhì)量的同時降低運維成本,進一步提升公司的競爭優(yōu)勢。
千兆負載均衡不堪重負
此前,搜狐統(tǒng)一Web或者移動服務(wù)的后面是千兆負載均衡系統(tǒng),這是搜狐多年來快速響應(yīng)用戶訪問的核心。然而,隨著新業(yè)務(wù)的不斷增加以及對用戶數(shù)據(jù)的深度挖掘需求,千兆負載均衡系統(tǒng)已經(jīng)日漸捉襟見肘。
比如,原來網(wǎng)絡(luò)狀況下用戶的訪問日志等總有少量丟失,這樣就不能掌握用戶的真實訪問需求,改善的途徑就是將采集點前移到網(wǎng)絡(luò)邊界,也即從訪問LOG開始;其次,伴隨著用戶數(shù)量及上網(wǎng)設(shè)備的多樣性和復(fù)雜性的增加,搜狐受到的網(wǎng)絡(luò)攻擊更加頻繁,用戶的隱私等安全問題愈發(fā)顯得重要,而分析安全事件等措施的采取也需要從網(wǎng)絡(luò)邊界端就開始加以防御。
“最重要的是此前搜狐服務(wù)器單機性能只能達到C300K(30萬并發(fā)處理和分發(fā)的能力每秒接受30萬次的并發(fā)訪問)的能力,資源使用率不高。我們亟需提高服務(wù)器使用率,降低服務(wù)器的采購,同時相應(yīng)減少服務(wù)器管理方面的開支。”周霖說。為此,搜狐技術(shù)部門從2012年6月開始立項,爭取用更快的網(wǎng)絡(luò)替代原有的千兆網(wǎng)絡(luò)。
英特爾萬兆以太網(wǎng)提升效率6倍
在選擇英特爾萬兆以太網(wǎng)之前,搜狐曾考慮過用其它廠商的專有網(wǎng)絡(luò),甚至是更高速的Infiniband網(wǎng)絡(luò)也測試過,但是考慮到成本問題最終還是放棄了。
“專有網(wǎng)絡(luò)只能滿足部分需求。不能靈活處理突發(fā)事件和未來的變化。搜狐選擇網(wǎng)絡(luò)的立足點是性能上的替代,然后是能進行大規(guī)模低成本的部署,最后考慮到和服務(wù)器架構(gòu)的統(tǒng)一性等問題,英特爾萬兆以太網(wǎng)自然成為了最佳選擇。”周霖強調(diào)。
為了更好地推進項目的實施,英特爾與搜狐長期保持良好的合作關(guān)系,雙方有多年的深入合作,對新技術(shù)的研究及行業(yè)發(fā)展趨勢有很大的認同。雙方本著以技術(shù)探索為基礎(chǔ),行業(yè)發(fā)展趨勢為導(dǎo)向,以深入技術(shù)合作、挖掘前沿技術(shù)、推動關(guān)鍵技術(shù)發(fā)展、培養(yǎng)專業(yè)技術(shù)人才、熱點難點技術(shù)探索及驗證為目標。于2011年共同成立的搜狐-英特爾技術(shù)創(chuàng)新實驗室就是雙方緊密合作的例證。針對這個項目,搜狐和英特爾還成立了聯(lián)合實驗室,加上運維人員,共有20多名技術(shù)骨干組成了攻關(guān)團隊。項目組還給自己定了一個更高的目標:一般而言,網(wǎng)絡(luò)能實現(xiàn)單機每秒鐘響應(yīng)100萬(C1000K)次請求已經(jīng)是一個很高的標準了,項目組卻將目標拔高到C2000K。
“業(yè)內(nèi)是以C1000K做為標準。但是我們考慮到翻倍后能節(jié)省更多的資源,所以將目標定為C2000K。此外,原來的標準是突出靜態(tài)頁面能力的響應(yīng)速度,現(xiàn)在還包括靜態(tài)頁面的轉(zhuǎn)發(fā)。”周霖說。
為了驗證英特爾萬兆以太網(wǎng)能否真的解決原先的瓶頸?搜狐技術(shù)團隊搭建了開源的Tsung壓力測試平臺,以保證模擬真實線上高強度萬兆壓力。同時他們還使用Systemtap等工具定位系統(tǒng)及應(yīng)用瓶頸,定制和優(yōu)化Linux系統(tǒng),并深入內(nèi)核優(yōu)化,調(diào)整NetIO調(diào)度策略以及TCP協(xié)議相關(guān),優(yōu)化七層負載均衡軟件代碼。在英特爾工程師幫助下,在一系列措施下,經(jīng)過4個月的努力,搜狐公司單臺服務(wù)器使用率提高了6倍,成功實現(xiàn)了單機萬兆七層C2000K的長鏈接正常線上服務(wù)。
“C2000K實現(xiàn)后的效果是明顯的。原先遇到的兩大問題,像用戶的轉(zhuǎn)發(fā)需要重新定向;需要根據(jù)用戶的Cookie調(diào)用后臺不同的服務(wù),都需要分開執(zhí)行,F(xiàn)在判斷和分發(fā)在一臺服務(wù)器上就能實現(xiàn)了,極大地提高了效率。”周霖介紹說:“此外,英特爾萬兆以太網(wǎng)帶來了更高的可控性和可用性,用戶訪問網(wǎng)頁的體驗也更好。搜狐還可根據(jù)訪問日志等大數(shù)據(jù)進行分析,隨時調(diào)整相關(guān)策略。而架構(gòu)上的簡化,減少了服務(wù)器的使用量,同時讓運維更加簡單化。”
盡管性能提升了6倍,但搜狐還只是用現(xiàn)在的1臺服務(wù)器替代原先5臺服務(wù)器的工作量。周霖解釋說是需要給服務(wù)器的工作負載留有一定的富余量。此外,搜狐也并沒有采取大規(guī)模鋪設(shè)萬兆以太網(wǎng)的方式來全面升級網(wǎng)絡(luò),而是逐步升級,平滑過渡,確保服務(wù)的穩(wěn)定性。
“我們會先替換掛在負載均衡后面的應(yīng)用,現(xiàn)在在進行底層的測試,確保不出問題后就進行替換。”周霖說:“下一步搜狐還會和英特爾在云平臺、智能城市、低成本存儲等項目上進行合作,力爭給用戶提供更好的服務(wù)。”
公司簡介 | 媒體優(yōu)勢 | 廣告服務(wù) | 客戶寄語 | DOIT歷程 | 誠聘英才 | 聯(lián)系我們 | 會員注冊 | 訂閱中心
Copyright © 2013 DOIT Media, All rights Reserved. 北京楚科信息技術(shù)有限公司 版權(quán)所有.