網(wǎng)站性能越來越被大眾所關(guān)注,因?yàn)樗苯佑绊懹脩趔w 驗(yàn)。大多數(shù)互聯(lián)網(wǎng)公司在網(wǎng)站性能監(jiān)控方面僅做到服務(wù)器性能監(jiān)控和網(wǎng)絡(luò)I/O監(jiān)控,這樣的背景催生了一些第三方做網(wǎng)站性能監(jiān)控的公司,如基調(diào)、監(jiān)控寶、GA 等。它們都有一個(gè)共同點(diǎn)——基本在全國(guó)主要城市鋪設(shè)了監(jiān)控點(diǎn),定時(shí)主動(dòng)訪問頁面來獲取性能數(shù)據(jù)。然后定時(shí)對(duì)數(shù)據(jù)進(jìn)行匯總,生成報(bào)表后提供給終用戶。
第三方監(jiān)控的優(yōu)勢(shì)與劣勢(shì)
優(yōu)勢(shì)
•無需改動(dòng)現(xiàn)有程序代碼。第三方監(jiān)控由于采用主動(dòng)訪問并采集的機(jī)制,只需要在用戶管理界面配置相關(guān)頁面的URL,就可以模擬用戶訪問的過程,因而完全不需要開發(fā)人員介入。
•能采集到豐富的數(shù)據(jù)。因?yàn)槟M訪問使用的瀏覽器由供應(yīng)商部署,所以可以在客戶端加入自定義插件或集成其他性能工具,能通過編程實(shí)現(xiàn)各類性能數(shù)據(jù)的采集。
•數(shù)據(jù)量不大,匯總方便。這取決于供應(yīng)商的監(jiān)測(cè)點(diǎn)部署,但限于成本考慮,一般供應(yīng)商只會(huì)在一二線城市部署,這樣數(shù)據(jù)量匯總相對(duì)容易,分析復(fù)雜度較低。
•出現(xiàn)問題時(shí)可重現(xiàn)和驗(yàn)證。因?yàn)槟苡胸S富的數(shù)據(jù),并且發(fā)生問題的監(jiān)測(cè)點(diǎn)可控,我們就能很容易重現(xiàn),方便排錯(cuò)。
劣勢(shì)
•一次性投入大。監(jiān)測(cè)點(diǎn)的部署需要大量設(shè)備支持,如果只是為一家公司提供服務(wù),性價(jià)比不高,需要大量的資金。
•難以完成不同瀏覽器下的測(cè)試。監(jiān)測(cè)點(diǎn)無法顧及到所有用戶使用的瀏覽器,對(duì)于不同的業(yè)務(wù),客戶群體不一致,瀏覽器的權(quán)重也不同,故監(jiān)測(cè)點(diǎn)一般以IE和WebKit核心的瀏覽器為主。
•響應(yīng)有時(shí)間間隔。一般來說,監(jiān)控頁面不可能只有一個(gè),會(huì)有很多,測(cè)試時(shí)為保證不互相干擾,特別是性能測(cè)試,會(huì)依次按隊(duì)列方式進(jìn)行,這會(huì)使得一個(gè)循環(huán)的時(shí)間很長(zhǎng),且需要等到所有監(jiān)測(cè)點(diǎn)均完成測(cè)試后方可獲得終報(bào)告,不能及時(shí)反映當(dāng)前的狀態(tài)。
•對(duì)于強(qiáng)依賴流程進(jìn)入的頁面難以監(jiān)控。例如預(yù)訂流程,需要POST大量信息,且有時(shí)效性,對(duì)于監(jiān)測(cè)點(diǎn)來說具有一定的挑戰(zhàn)?,F(xiàn)在有些運(yùn)營(yíng)商可以提供一些簡(jiǎn)單的腳本功能,但對(duì)于日益復(fù)雜的業(yè)務(wù)需求,已無法滿足。
•監(jiān)控點(diǎn)有限,不能覆蓋整體用戶群。監(jiān)控點(diǎn)可以增加,但總是無法覆蓋所有的網(wǎng)絡(luò)環(huán)境,因此數(shù)據(jù)只能用于參考,并不能代表真實(shí)用戶感受。
HTML5給我們帶來了什么
HTML5中新加入的performance標(biāo)準(zhǔn)在IE9、新的Firefox和Chrome中都已實(shí)現(xiàn),精確度也達(dá)到了毫秒級(jí)別,通過詳細(xì)時(shí)間點(diǎn),我們能獲得很多關(guān)鍵的指標(biāo)項(xiàng)。
HTML5技術(shù)給Web帶來很多新的元素,不僅使網(wǎng)站變得越來越美觀,交互體驗(yàn)越來越接近完美,更使得很多曾經(jīng)不可能完成的功能都可以實(shí)現(xiàn)。