當(dāng)Web訪問性能出現(xiàn)問題,如何深探?

對(duì)運(yùn)維或開發(fā)工程師來說,遇到訪問性能問題時(shí),最先需要定位的問題是出現(xiàn)在哪個(gè)環(huán)節(jié),是網(wǎng)絡(luò)的問題,服務(wù)端的問題,還是客戶端的問題?

往往技術(shù)人員喜歡把精力放在保障后端服務(wù)的可用性方面,而對(duì)前端界面是否能正常裝載,是否能完整渲染不是太關(guān)心。但從業(yè)務(wù)的角度來說,界面承載的才是最終的業(yè)務(wù),業(yè)務(wù)是通過人機(jī)交互來實(shí)現(xiàn)的。

日常我們遇到哪些場(chǎng)景需要定位訪問性能瓶頸?

不同地域訪問同一應(yīng)用速度的差異性較大時(shí)

不同時(shí)段訪問同一應(yīng)用速度的差異性較大時(shí)

低版本瀏覽器導(dǎo)致界面加載速度慢或失敗時(shí)

不同的操作系統(tǒng)(特別是手機(jī))導(dǎo)致界面加載速度慢或失敗時(shí)

外鏈資源或第三方服務(wù)拖慢界面加載速度時(shí)

還有更多場(chǎng)景需要定位。我們是否有簡(jiǎn)單的辦法來定位是網(wǎng)絡(luò)的問題、服務(wù)端的問題還是客戶端的問題?答案是肯定的。現(xiàn)代的瀏覽器提供給我們一些便利的條件可以獲取從請(qǐng)求開始到頁面渲染完成各個(gè)環(huán)節(jié)的時(shí)間,注意這里說的必須是現(xiàn)代瀏覽器,他們有個(gè)共同的特點(diǎn),即遵循W3C的Timing API。

之前與大家交流過《監(jiān)控真實(shí)的用戶體驗(yàn),從一行代碼開始》點(diǎn)擊參看此文。通過一行代碼來實(shí)現(xiàn)數(shù)據(jù)采集,優(yōu)云Web實(shí)現(xiàn)訪問性能定位就相對(duì)簡(jiǎn)單,請(qǐng)看下圖。


讓我們來看下如何解讀這些數(shù)據(jù)。

從用戶操作角度來衡量用戶體驗(yàn)

首先是操作名稱,比如“打開首頁”,這是一個(gè)重定向的操作,對(duì)應(yīng)的URL是http://這里"打開首頁"的操作是如何來呢?在這里先賣個(gè)關(guān)子下回再聊,這就是優(yōu)云Web與其他任何產(chǎn)品不一樣的地方,其他產(chǎn)品往往是給你一個(gè)URL地址,內(nèi)容是什么,上下文操作是什么需要你自己去猜,非技術(shù)猿類無法理解。

聚焦關(guān)鍵度量指標(biāo)

Apdex

平均響應(yīng)時(shí)間

平均用戶可操作時(shí)間

吞吐率

其中平均響應(yīng)時(shí)間可以分解為

客戶端時(shí)間

網(wǎng)絡(luò)時(shí)間

服務(wù)端時(shí)間

在這個(gè)例子中,我們發(fā)現(xiàn)客戶端時(shí)間占了15秒之多,而網(wǎng)絡(luò)和服務(wù)端占的時(shí)間非常少,兩者僅1秒不到。說明頁面在前端耗費(fèi)了大量時(shí)間來加載和渲染。出現(xiàn)這種情況的時(shí)候,用戶往往以為服務(wù)端很慢,其實(shí)不然,據(jù)我們了解,70%的訪問性能問題出在前端上,這個(gè)與我們的認(rèn)知大相徑庭。因此這個(gè)鍋該誰來背?大概率來說,70%的鍋應(yīng)該是開發(fā)人員來背,運(yùn)維趕緊拿數(shù)據(jù)砸過去吧。

對(duì)關(guān)鍵指標(biāo)進(jìn)行深度分析

響應(yīng)時(shí)間與操作數(shù)趨勢(shì)的關(guān)聯(lián)關(guān)系:分析兩者是否有正相關(guān)關(guān)系

響應(yīng)時(shí)間精細(xì)化分析:平均值、中位數(shù)、最慢的5%

響應(yīng)時(shí)間按滿意度分布:哪些操作滿意、哪些可以容忍、哪些不滿意

抽樣調(diào)查

我們會(huì)對(duì)不滿意的用戶進(jìn)行抽樣,通過抽樣我們可以看出哪些地域、哪些瀏覽器的用戶會(huì)比較容易出現(xiàn)訪問性能問題,具體還可以細(xì)化到頁面的資源加載時(shí)間。這些數(shù)據(jù)有什么用呢?可以知道哪些頁面資源可以進(jìn)一步壓縮優(yōu)化,減少http請(qǐng)求數(shù),可以讓我們來檢驗(yàn)CDN是否真正有效,或沒有啟用CDN的應(yīng)用可以考慮CDN加速等等。

以上是個(gè)人關(guān)于訪問性能體驗(yàn)的一些心得,優(yōu)云Web體驗(yàn)還是建議你親自來感受它的不一樣。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容