本文是我對幾個主要電商網站性能之間的對比,分析對象均爲各網站首屏,分析工具爲Chrome。由於天貓、淘寶、京東採用的加載策略是不斷地預加載,所以數據不精確。且網站性能的影響因素極多,本文僅作參考。
諸事件 | 天貓 | 淘寶 | 京東 | 蘑菇街 | 考拉海購 |
---|---|---|---|---|---|
Requests | 110 | 100 | 32 | 67 | 262 |
Transferred | 1.2M | 650k | 380k | 1.6M | 3.2M |
Finish | 11s | 8s | 2.38s | 4.79s | 11.08s |
DOMContentLoaded | 1.34s | 1.16s | 867ms | 2.01s | 7.9s |
Load | 4.87s | 5.33s | 2.29s | 4.70s | 10.45s |
諸協議 | 天貓 | 淘寶 | 京東 | 蘑菇街 | 考拉海購 |
---|---|---|---|---|---|
http/1.1 | 中量 | 少量 | 幾乎全部 | 幾乎全部 | 全部 |
http/2.0 | 少量 | 少量 | 無 | 極少 | 無 |
spdy/3.1 | 大量 | 大量 | 無 | 無 | 無 |
data | 少量 | 極少 | 極少 | 無 | 無 |
spdy | 無 | 極少 | 無 | 無 | 無 |
表中的Finish時間個人認爲可以看成從用戶發起請求到用戶看到穩定頁面的時間。
對比兩表各網站數據,可知提升頁面性能的途徑有(就前端領域而言):
- 減少請求數量,我認爲這在中高速網絡環境下是主要影響因素
- 縮減頁面體積,這可以節省帶寬,提高用戶體驗
- 先進協議的使用,通過對比天貓淘寶和其他網站,發現協議似乎是對Finish時間影響最小的因素。但其實天貓淘寶和其他網站的可比性很低。我們粗略地比較一下天貓和淘寶這兩個具有可比性的網站,可以稍微感覺到先進的協議可以提升一點性能。本文到這裏似乎並沒有體現出spdy/3.1和http/2.0的優越性,不過等等,我們似乎忘了什麼。spdy/3.1和http/2.0有個鏈接複用的特點,這可以大大減少請求數量,從而改善頁面性能。故而我認爲http/2.0是大勢所趨,大家都快來擁抱http/2.0吧!