網頁前端頁面加載性能測試各工具可行性方案分析

網頁前端頁面加載性能測試各工具可行性方案分析

徵對各個瀏覽器和工具作了測試,之因此選擇的是百度首頁測試,由於其比較單一,沒有多層嵌套和持續加載,儘可能減小其餘影響,測試中發現目前有些方案是不可行的,後面徵對各個測試結果給出了可行方案和不可行的建議。前端

1 .webbrowser(內核IE10)和IE10瀏覽器的比較:web

Webbrowser的測試方法爲,先執行清除瀏覽器緩存,從開始導航開始計時,DocumentCompleted時間將2次觸發,取最後一次的時間,按照DocumentCompleted解釋,這個時間至關於所有元素loa完畢,測試結果以下:瀏覽器

clip_image002

接下來打開IE工具測試,先執行清除瀏覽器緩存測試結果以下緩存

clip_image004

結論:通過屢次測試,能夠看到,Webbrowser和IE工具測試的結果至關接近!服務器

Webbrowser 的DocumentCompleted時間即爲IE工具的所有元素加載時間網絡

2 HTTP抓包工具Fiddler結果測試:

clip_image006

結束時間工具

clip_image008

抓包IE10結果以下:性能

開始14:15:59:6241測試

結束14:16:00:1082 二者間隔爲481毫秒。pwa

抓包Webbrowser結果以下:

開始14:18:37:4179

結束14:18:37:8689

二者間隔451毫秒

結論:1.IE10和Webbrowser網絡加載時間基本相同,

2 問題:Fiddler抓包的數據大於瀏覽器的計算時間?這個是否是Fiddler數據有問題?

2.火狐的firebug工具測試:

先清除瀏覽器緩存:

clip_image010

而後再打開百度

clip_image012

結論:怎麼測試都在2000毫秒以上,搞不懂爲何比IE慢那麼多?直眼睛都看得出來比IE慢!

3. berserkjs測試

這個不知道緩存是怎麼搞,直接測試吧clip_image014

能夠看到這個間隔時間爲246秒,首屏時間爲:1894毫秒

這個時間跟ie內核的差很少

Fiddler測試抓包:

14:34:09:7921

14:34:10:2181

426

能夠發現Fiddler抓包時間大於berserkjs的測試時間!

.

而後我又使用IE10作了個測試,關閉Fiddler用webbrowser測試時間爲186毫秒

打開Fiddler用webbrowser測試時間竟然高達460毫秒!

4測試結論:

1. 瀏覽器對測試數據影響很大,3種種內核,最快的爲webkit 246,也有可能這個東西沒有外圍的程序直接使用內核的關係,他是最快的,IE10次之爲400,火狐最慢達到2000多,可是爲何火狐的速度那麼慢,這個未能有答案。

2. 查找各類資料,發現相似Fiddler這種工具使用的原理是,啓動了Fiddler,程序將會把本身做爲一個微軟互聯網服務的系統代理。做爲系統代理,全部的來自微軟互聯網服務(WinInet)的http請求再到達目標Web服務器的以前都會通過Fiddle,一樣的,全部的Http響應都會在返回客戶端以前流經Fiddler,那麼這就能解釋爲何開啓Fiddler後速度變慢了!

這個就是常常說的網絡劫持,相似的工具還有httpwach,httpanalyzer等,因而可知這種原理的測試數據會致使數據偏離實際,不建議使用!

3. 不能使用Fiddler這種原理,因爲webbrowser有限的功能和擴展,基本上不能取到har裏面的數據,這個方案將不可行!

4. 建議:使用berserkjs方案,目前IP未能解決,需想辦法解決此問題!

相關文章
相關標籤/搜索