本篇文章給大家分享的是有關(guān)如何進(jìn)行定量的CDN加速效果分析,小編覺(jué)得挺實(shí)用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說(shuō),跟著小編一起來(lái)看看吧。
成都創(chuàng)新互聯(lián)公司長(zhǎng)期為上1000+客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開(kāi)放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為宣化企業(yè)提供專業(yè)的成都做網(wǎng)站、成都網(wǎng)站建設(shè),宣化網(wǎng)站改版等技術(shù)服務(wù)。擁有十多年豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開(kāi)發(fā)。
cdn
網(wǎng)站靜態(tài)資源加速
定量展示CDN加速效果
CDN配置好了但是沒(méi)有加速效果?
“第一次接觸”用戶體驗(yàn)提升
網(wǎng)站具有大量圖片、css、js等靜態(tài)資源
ECS購(gòu)買(mǎi)了固定帶寬,帶寬成為性能瓶頸
一個(gè)已完成“備案”的域名
域名購(gòu)買(mǎi)后需要實(shí)名認(rèn)證+備案,大概需要花費(fèi)“14~20天”。
我曾接觸過(guò)兩個(gè)項(xiàng)目,一個(gè)是基于web的AR項(xiàng)目,一個(gè)是使用了大圖的展示性項(xiàng)目。兩個(gè)項(xiàng)目都有一個(gè)共同特點(diǎn):加載速度很慢。慢到什么地步呢?頁(yè)面完全加載完的時(shí)間量級(jí)均在兩位數(shù)(10s左右),極端情況下甚至?xí)_(dá)到20s甚至更久。
如此打開(kāi)速度對(duì)于一款應(yīng)用的體驗(yàn)來(lái)來(lái)說(shuō)是災(zāi)難級(jí)的,因?yàn)椴粫?huì)有一個(gè)用戶有耐心等待如此長(zhǎng)的時(shí)間,web前端針對(duì)加載速度慢在技術(shù)上具有很多解決方案:如使用一張像素很低體積很小的圖片先顯示以“安慰”用戶,或使用分批加載等。
但以上兩種方案都無(wú)法解決我碰到場(chǎng)景的問(wèn)題,因?yàn)锳R項(xiàng)目的js文件與AR文件都同樣龐大,以上方案都不能完全挽救兩位數(shù)量級(jí)加載時(shí)間的災(zāi)難級(jí)體驗(yàn)。
幸運(yùn)的是兩個(gè)項(xiàng)目都是展位性質(zhì)的,只需要利用瀏覽器自身的緩存機(jī)制,提前打開(kāi)幾次頁(yè)面就能將加載時(shí)間將時(shí)間輕易降到50ms附近,讓觀眾戶完全感覺(jué)不到加載的耗時(shí)。
但是如此雨來(lái),展示的互動(dòng)性將變得很受限,因?yàn)橛脩魺o(wú)法使用自己的設(shè)備親自打開(kāi)體驗(yàn)應(yīng)用,只能使用講解員手中提前緩存好數(shù)據(jù)的設(shè)備。
我調(diào)研CDN的初衷,也是為了嘗試解決以上問(wèn)題:能夠讓完全沒(méi)有緩存用戶的設(shè)備在“第一次接觸”應(yīng)用時(shí)能夠較快打開(kāi)應(yīng)用,提高互動(dòng)性。
要解決現(xiàn)有的問(wèn)題,那么需要先分析一下性能瓶頸到底出在了什么地方。網(wǎng)頁(yè)加載速度慢的根本原因當(dāng)然是文件過(guò)大,但監(jiān)控服務(wù)器資源占用等參數(shù)后我將參數(shù)鎖定在了兩個(gè):地理位置、帶寬。
接下來(lái)我們就來(lái)看看CDN到底能不能實(shí)現(xiàn)加速,以及能夠加速到什么地步?
為了確定上面兩個(gè)問(wèn)題,我選取了項(xiàng)目中的部分文件作為用例,做了一系列測(cè)試,得到三組對(duì)比數(shù)據(jù)如下:
一、境內(nèi)外ECS對(duì)比
“行”為該文件加載耗時(shí),單位為ms、s
時(shí)間讀取自Chrome控制臺(tái)
禁用了瀏覽器cache,為了避免誤差每次測(cè)試前均再一次手動(dòng)刪除緩存圖片與記錄。
每個(gè)文件在一個(gè)ECS測(cè)試3次,因此每個(gè)文件一共2組,6個(gè)數(shù)據(jù)。
AWS的ECS在帶寬上遠(yuǎn)比Ali的ECS高,Ali這的ECS的帶寬為固定帶寬5Mbps(也即0.625MB/s)。
現(xiàn)象
位于奧蘭多的服務(wù)器和位于張家口的表象不相上下,
文件大小達(dá)到4MB左右均會(huì)開(kāi)始向10s逼近,
結(jié)論:
由于空間位置原因無(wú)法獲取文件在奧蘭多處的加載耗時(shí),不嚴(yán)謹(jǐn)?shù)牡贸鼋Y(jié)論:AWS在帶寬上彌補(bǔ)了物理距離的差距,二者速度差異不大。
二、在AliCloud的ECS,使用CDN加速與不使用CDN加速對(duì)比
C、D、E三列為先前測(cè)試數(shù)據(jù)
F、G、H、I列為使用CDN加速后測(cè)試數(shù)據(jù)
G為同局域網(wǎng)下同事電腦
H、I為使用手機(jī)熱點(diǎn)4G網(wǎng)絡(luò)下在另一臺(tái)設(shè)備Mac上的時(shí)間表現(xiàn)
現(xiàn)象
F列為本人PC,具有非常明顯的加速效果,
G、H、I三列均沒(méi)有任何變快表現(xiàn),甚至還更慢了……
結(jié)論:
Ali的CDN難道是針對(duì)單個(gè)IP進(jìn)行加速,來(lái)欺騙消費(fèi)者的嗎?
這個(gè)結(jié)論當(dāng)然是錯(cuò)的,但是數(shù)據(jù)上又呈現(xiàn)出了以上特點(diǎn),又是什么原因?qū)е碌哪兀坷^續(xù)往下看
三、在AliCloud的ECS,使用CDN加速,并進(jìn)行“數(shù)據(jù)預(yù)熱”后數(shù)據(jù)對(duì)比
C、D、E為第一組測(cè)試數(shù)據(jù),無(wú)CDN情況下性能表現(xiàn)
F為第二組測(cè)試數(shù)據(jù),進(jìn)行CDN加速但無(wú)數(shù)據(jù)預(yù)熱時(shí)在一臺(tái)新設(shè)備上的性能表現(xiàn)
H、I、J為使用CDN加速后,分別在同事G與另外兩個(gè)完全沒(méi)有開(kāi)過(guò)網(wǎng)站的設(shè)備上打開(kāi)網(wǎng)站的性能表現(xiàn)。
現(xiàn)象
在沒(méi)有數(shù)據(jù)預(yù)熱前,CDN加速基本沒(méi)有任何提速效果
進(jìn)行數(shù)據(jù)加熱后,文件加載數(shù)據(jù)明顯提升非常多。
結(jié)論
CDN在數(shù)據(jù)預(yù)熱后實(shí)現(xiàn)了網(wǎng)站加速的效果,對(duì)比數(shù)據(jù)預(yù)熱前后同事G設(shè)備上的性能表現(xiàn),加速效果大約在5~15倍之間。
從最后的效果效果來(lái)看,將文件打開(kāi)速度由10s級(jí)降到將近ms級(jí),確實(shí)極大優(yōu)化了用戶“第一次接觸”的用戶體驗(yàn),能夠讓用戶有耐心講應(yīng)用使用下去,也能夠在展位上讓觀眾能夠使用自己的設(shè)備打開(kāi)服務(wù),對(duì)交互和受眾面的提升都具有非常大的好處。
以為這就完了?后面還有內(nèi)容,量化說(shuō)明CDN的加速效果并不是這篇文章的主要目的。
“數(shù)據(jù)預(yù)熱”這一名詞時(shí)在CDN的原理文章比較少提到的,在得到第二組測(cè)試數(shù)據(jù)的時(shí)候,我就十分困惑的提交了工單,才得知了“數(shù)據(jù)預(yù)熱”這一環(huán)節(jié)。進(jìn)一步和工程師詢問(wèn)得知,AliCloud的CND默認(rèn)是搶占式的,就像硬盤(pán)與內(nèi)存的映射關(guān)系,使用越頻繁,加速內(nèi)容在冗余站點(diǎn)的存放時(shí)間與獲取資源也會(huì)越多。
因此我的PC所接入的加速站點(diǎn)具有很好的加速效果
而低頻或剛添加的資源默認(rèn)并不會(huì)傳輸?shù)饺哂嗾军c(diǎn),需要在控制臺(tái)手動(dòng)進(jìn)行“數(shù)據(jù)預(yù)熱”。且即使預(yù)熱后,長(zhǎng)時(shí)間不使用也會(huì)從冗余站點(diǎn)抹除,被替換掉。當(dāng)然,從所支付的費(fèi)用來(lái)說(shuō),這一搶占機(jī)制是很合理的,畢竟我完成所有測(cè)試也只花費(fèi)了0.26RMB的費(fèi)用。
在第三組數(shù)據(jù)中,應(yīng)該能發(fā)現(xiàn)即使數(shù)據(jù)預(yù)熱后,加速效果在不同設(shè)備間的表現(xiàn)效果也是存在差異的,如在同事C設(shè)備上,加載數(shù)據(jù)都在ms級(jí),而在同事G與與同事L設(shè)備上,卻是個(gè)位數(shù)的s級(jí)。細(xì)心的讀者也許會(huì)發(fā)現(xiàn),我在CDN設(shè)備上面都標(biāo)注了一個(gè)地理信息,我的個(gè)人PC是湖北、同事G是山西,同事L與同事C是甘肅。(在第二組數(shù)據(jù)中由于還不清楚這個(gè)概念,當(dāng)時(shí)沒(méi)有記錄)
這些地理位置,是AliCloud冗余加速站點(diǎn)所處的地理位置的信息,這里一個(gè)很有意思的現(xiàn)象是,以上所有4臺(tái)設(shè)備都是處在同一個(gè)局域網(wǎng)下的4個(gè)獨(dú)立的設(shè)備,3臺(tái)Win,1臺(tái)Mac,走同一個(gè)網(wǎng)關(guān)接入因特網(wǎng),但每一臺(tái)設(shè)備接入的CDN加速站點(diǎn)都不相同!
兩個(gè)同屬甘肅的服務(wù)器IP不相同
同一臺(tái)設(shè)備接入的冗余站點(diǎn)始終相同
也因?yàn)橐陨显?,?dǎo)致他們加速效果存在差異,這一點(diǎn)是讓我非常不理解的,為什么同同一個(gè)局域網(wǎng)下的設(shè)備接入加速站點(diǎn)的位置卻有如此大的差異?接入冗余加速站點(diǎn)的規(guī)則到底是怎樣的?這是我一直沒(méi)有弄明白的問(wèn)題,在工單上詢問(wèn)工程后也沒(méi)有得到明確的回復(fù),姑且只能擱置于此。
以上就是如何進(jìn)行定量的CDN加速效果分析,小編相信有部分知識(shí)點(diǎn)可能是我們?nèi)粘9ぷ鲿?huì)見(jiàn)到或用到的。希望你能通過(guò)這篇文章學(xué)到更多知識(shí)。更多詳情敬請(qǐng)關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。