此文已由作者吳維偉授權網易雲社群發布。
在過去的一段時間,隊友在效能優化方面做了很多任務作。我現在在這裡默默總結,希望能夠追上隊友的腳步~
此次優化主要針對的是漫畫手機站。相比於pc端的網路,移動端的網路環境有著自己的特點:網路不穩定,低網速的情況出現的比較頻繁。此次優化的目的是為了讓使用者在低網速的情況下也能夠擁有更好的體驗。
的載入時機一定是越早越好,所以我們期望能拿到從瀏覽器發起請求到頁面開始載入前的那段時間的網路狀況。恰巧window.performance提供的api可以實現這個功能。window.performance上的每乙個屬性都有乙個預設值0。當對應的事件發生時,對應屬性的值被賦予事件發生時的時間戳。為了測量網速,我們考慮了以下事件:
注:其中有乙個requeststart事件,看起來與fetchstart類似。其中fetchstart事件發生在dns查詢和建立tcp連線之前,而requeststart發生在建立tcp連線之後,開始傳送請求報文的時候。
通過計算fetchstart和responseend的差值,就能夠大致估算出使用者當前的網路狀況。
// 測量網路狀況if (typeof performance != 'undefined' && typeof performance.timing != 'undefined')var latency = performancetiming.responseend - performancetiming.fetchstart;
if (latency >= 550)
}
window.detectperformance();
}
網易雲免費體驗館,0成本體驗20+款雲產品!
更多網易技術、產品、運營經驗分享請點選。
【推薦】 如何利用大資料指導市場營銷
YSlow 針對網頁效能優化設計
yslow是yahoo performance team針對網頁效能優化設計的一款firefox瀏覽器外掛程式,他依賴於firefox的firebug外掛程式執行,在使用它之前,你必須安裝firefox firebug.firebug和yslow是 前端開發人員必備的開發工具之一,如果你都沒用過,那...
針對C 語言特性的效能優化checklist
系列文章導航 新的職業目標,以及c 效能優化 針對c 語言特性的效能優化checklist 1 盡量使用棧記憶體,較少使用堆記憶體。2 將堆記憶體池化。3 函式引數使用const 或 傳遞類物件。4 短小的函式巨集化或inline化。5 將類成員變數的初始化放在初始化列表中。尤其是類中含有的物件的初...
mysql的效能優化 mysql效能優化
檢視安裝指令碼 select version 非互動式超時時間,如jdbc show global variables like wait timeout 互動式超時時間,如資料庫工具 show global variables like interactive timeout show sessi...