為什么CDN對(duì)移動(dòng)客戶端加速“沒(méi)有”效果
Google web性能優(yōu)化工程師和開(kāi)發(fā)大使、《High-Performance Browser Networking》作者Ilya Grigorik近日發(fā)布了一篇名為《為什么CDN對(duì)移動(dòng)客戶端加速“沒(méi)有”效果》的博客,描述了移動(dòng)(無(wú)線)網(wǎng)絡(luò)的特殊性,以及如何建設(shè)一個(gè)適用于移動(dòng)CDN的構(gòu)想。
Ilya首先吐槽了目前的CDN在移動(dòng)客戶端加速方面的不給力。從他們的移動(dòng)客戶端性能監(jiān)控?cái)?shù)據(jù)來(lái)看,傳統(tǒng)CDN的優(yōu)化效果非常不明顯,所以他希望有一個(gè)對(duì)移動(dòng)網(wǎng)絡(luò)支持更好的、特殊的移動(dòng)CDN網(wǎng)絡(luò)。
對(duì)于傳統(tǒng)CDN在無(wú)線網(wǎng)絡(luò)上的效果,Ilya認(rèn)為人們普遍有兩種誤解:1、傳統(tǒng)CDN對(duì)移動(dòng)客戶端和對(duì)寬帶網(wǎng)絡(luò)的絕對(duì)優(yōu)化效果差不多;2、這不是要不要“無(wú)線CDN”的問(wèn)題,而是運(yùn)營(yíng)商網(wǎng)絡(luò)的問(wèn)題。
Ilya首先提供了一個(gè)參考數(shù)據(jù),用于分析無(wú)線網(wǎng)絡(luò)延遲的主要組成部分:
- 客戶端位于西海岸;服務(wù)端位于東海岸。
- 美國(guó)東西海岸之間的網(wǎng)絡(luò)延遲是50ms。
- 服務(wù)端的響應(yīng)延遲是50ms。
- 共享客戶端Last-mile延遲為:光纖約18ms,電纜約26ms,DSL約44ms。
- 無(wú)線客戶端Last-mile延遲為:4G約50ms,3G約200ms。
注: Last-mile ***一公里,通信行業(yè)經(jīng)常使用“***一公里”來(lái)指代從通信服務(wù)提供商的機(jī)房交換機(jī)到用戶計(jì)算機(jī)等終端設(shè)備之間的連接。
下圖顯示使用CDN時(shí)用戶訪問(wèn)流程和延遲信息
使用一個(gè)CDN做內(nèi)容分發(fā)加速
CDN加速需要在世界各地對(duì)等點(diǎn)的 各種數(shù)據(jù)中心部署CDN高速緩存服務(wù)器,并盡可能的將數(shù)據(jù)部署在離用戶最近的地方。換句話說(shuō),在最理想的情況下,CDN服務(wù)器會(huì)立即定位客戶端所在的 ISP/運(yùn)營(yíng)商網(wǎng)絡(luò),客戶端發(fā)起請(qǐng)求,所引發(fā)的last-mile延遲時(shí)長(zhǎng)為:客戶端斷開(kāi)ISP/運(yùn)營(yíng)商網(wǎng)絡(luò)和命中時(shí)CDN服務(wù)器立即返回的響應(yīng)時(shí)間。因 此:
- CDN減少了propagation latency;
- 在緩存了靜態(tài)資源的情況下,CDN還減少了server response time;
繼續(xù)前面的例子,假設(shè)CDN服務(wù)器進(jìn)行了網(wǎng)絡(luò)優(yōu)化配置(東海岸到西海岸的延遲時(shí)間不是50ms而是5ms)和我們請(qǐng)求CDN未命中源站的情況下客戶 端到CDN節(jié)點(diǎn)的延遲是5ms。對(duì)于采用光纖的客戶端,新的總時(shí)間為last-mile往返加CDN響應(yīng)時(shí)間的總和:18+5+5+5+18,即 51ms。因此,增加CDN的好處就是將我們總的請(qǐng)求時(shí)間由186ms降低到了51ms:在總延遲上有365%的改善。
我們可以來(lái)看下不使用CDN和使用CDN加速時(shí)相關(guān)的性能數(shù)據(jù),如下表所示:
Last-mile | Coast-to-Coast (low) | Server Response | Total (ms) | Improvement | |
Fiber | 18 | 50 | 50 | 186 | |
Cable | 26 | 50 | 50 | 202 | |
DSL | 44 | 50 | 50 | 238 | |
4G | 50 | 50 | 50 | 250 | |
3G | 200 | 50 | 50 | 550 | |
CDN + Fiber | 18 | 5 | 5 | 51 | -135 ms (365%) |
CDN + Cable | 26 | 5 | 5 | 67 | -135 ms (301%) |
CDN + DSL | 44 | 5 | 5 | 103 | -135 ms (231%) |
CDN + 4G | 50 | 5 | 5 | 115 | -135 ms (217%) |
CDN + 3G | 200 | 5 | 5 | 415 | -135 ms (133%) |
采用同樣的方法重復(fù)計(jì)算每個(gè)連接的基本信息,就可以得到一個(gè)不幸的趨勢(shì):
- last-mile的延遲***,CDN的相對(duì)有效性越差
- 考慮到CDN服務(wù)器一般都放置在ISP網(wǎng)絡(luò)之外,這就意味著節(jié)點(diǎn)的選擇非常有意義
- CDN對(duì)于改善last-mile的延遲還是有一定效果的
CDN幫助減少數(shù)據(jù)傳播和服務(wù)端響應(yīng)延遲時(shí)間。如果你衡量?jī)?yōu)化前后的對(duì)比,就會(huì)發(fā)現(xiàn)CDN幾乎沒(méi)有做移動(dòng)客戶端的優(yōu)化:例如,3G用戶普遍獲得33%的優(yōu)化效果。
在邊緣節(jié)點(diǎn)上的運(yùn)營(yíng)和業(yè)務(wù)維護(hù)成本
一個(gè)很明顯的策略是:移動(dòng)緩存服務(wù)器到更靠近客戶的位置以提高終端到終端的延遲,而不是將節(jié)點(diǎn)部署在運(yùn)營(yíng)商網(wǎng)絡(luò)之外。那么,我們是否可以將節(jié)點(diǎn)部署在運(yùn)營(yíng)商內(nèi)部?原則上是可以的,現(xiàn)在許多運(yùn)營(yíng)商已經(jīng)部署了自己的緩存服務(wù)器。然而在現(xiàn)實(shí)中,存在如下問(wèn)題:
- 對(duì)等點(diǎn)的數(shù)量相對(duì)比較少,CDN只能部署在世界各地眾所周知的幾十個(gè)位置。然而,移動(dòng)服務(wù)器到運(yùn)營(yíng)商網(wǎng)絡(luò)內(nèi)部需要與每個(gè)運(yùn)營(yíng)商單獨(dú)結(jié)算,所以,通常情況下,服務(wù)器部署在共享數(shù)據(jù)中心(對(duì)等點(diǎn))。
- 我們假設(shè)CDN已經(jīng)和某個(gè)ISP達(dá)成某種協(xié)議,理想情況下盡可能將服務(wù)器部署靠近他們的客戶(在無(wú)線電天線塔和其它信號(hào)聚合點(diǎn))的位置。這樣做 將需要大量硬件設(shè)備,這將導(dǎo)致維護(hù)和升級(jí)成為運(yùn)維的惡夢(mèng),并打開(kāi)了一個(gè)安全問(wèn)題。例如,你將要部署一個(gè)第三方的TLS終端節(jié)點(diǎn)來(lái)操作網(wǎng)絡(luò),解決你不能直接 訪問(wèn)網(wǎng)絡(luò)的問(wèn)題??傊?,這是一個(gè)成本、安全和物流的惡夢(mèng)。
- 許多互聯(lián)網(wǎng)運(yùn)營(yíng)商長(zhǎng)期以來(lái)一直在嘗試提升“檔次”并提供CDN服務(wù)。然而,運(yùn)營(yíng)商也存在不同的問(wèn)題:很難簽訂客戶,因?yàn)榇蠖鄶?shù)網(wǎng)站對(duì)于和每個(gè)運(yùn)營(yíng)商單獨(dú)簽署協(xié)議絲毫不感興趣。
最近的新聞報(bào)道說(shuō)Verizon收購(gòu)了EdgeCast,如果能將其應(yīng)用于生產(chǎn)環(huán)境,這將有利于Verizon的客戶解決這個(gè)問(wèn)題。
除了業(yè)務(wù)和運(yùn)營(yíng)成本之外,CDN在移動(dòng)客戶端上沒(méi)有任何特殊的優(yōu)化。問(wèn)題的根源在于:移動(dòng)運(yùn)營(yíng)商的last-mile延遲是很糟糕的。這才是我們需 要解決的問(wèn)題,而不是推動(dòng)將緩存服務(wù)器部署在靠近用戶的邊緣。我們需要公開(kāi)地進(jìn)行網(wǎng)絡(luò)的優(yōu)化,我們需要更多的運(yùn)營(yíng)商參與競(jìng)爭(zhēng),從根本上解決last- mile性能問(wèn)題。
在國(guó)內(nèi),運(yùn)營(yíng)商環(huán)境更為復(fù)雜,大大小小運(yùn)營(yíng)商有很多家,其中以北方網(wǎng)通、南方電信、移動(dòng)為主。但伴隨著互聯(lián)網(wǎng)的發(fā)展,小型運(yùn)營(yíng)商通過(guò)控制入口并以2、3級(jí)城市為主逐漸擴(kuò)大了規(guī)模,例如:電信通、華數(shù)科技、長(zhǎng)城寬帶等。還包括一些城域網(wǎng),這些我們通常統(tǒng)稱為小運(yùn)營(yíng)商。
由于各運(yùn)營(yíng)商之間存在著網(wǎng)間費(fèi)用結(jié)算,因此運(yùn)營(yíng)商會(huì)想盡一切辦法將內(nèi)容存在自己的網(wǎng)內(nèi),這就造就了現(xiàn)在市場(chǎng)上比較混亂的"劫持",而劫持技術(shù)也是越發(fā)越"高科技"。
國(guó)內(nèi)的CDN環(huán)境競(jìng)爭(zhēng)也日益加劇,幾大CDN廠家如網(wǎng)宿科技、藍(lán)訊、快網(wǎng)、帝聯(lián)也紛紛與運(yùn)營(yíng)商進(jìn)行合作。例如:藍(lán)汛與中國(guó)電信宣布共建CDN網(wǎng)絡(luò), 而網(wǎng)宿科技則是發(fā)布MAA移動(dòng)應(yīng)用加速解決方案,正式宣布進(jìn)軍移動(dòng)互聯(lián)網(wǎng)市場(chǎng)。再加上大公司自建CDN的加入,并有公司將CDN與云服務(wù)進(jìn)行整合加入競(jìng) 爭(zhēng),使得市場(chǎng)愈發(fā)激烈。
環(huán)境的復(fù)雜,導(dǎo)致用戶訪問(wèn)的問(wèn)題更加難以解決。有些觀點(diǎn)表示,只有等到互聯(lián)網(wǎng)關(guān)于運(yùn)營(yíng)商的改革,這些局面才會(huì)得以改善,但我認(rèn)為只要各大運(yùn)營(yíng)商與公司緊密合作,合作更加深入,用戶的訪問(wèn)質(zhì)量肯定會(huì)節(jié)節(jié)攀升。