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


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

征對各個瀏覽器和工具做了測試,之所以選擇的是百度首頁測試,因為其比較單一,沒有多層嵌套和持續加載,盡量減少其他影響,測試中發現目前有些方案是不可行的,后面征對各個測試結果給出了可行方案和不可行的建議。

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

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毫秒。

抓包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未能解決,需想辦法解決此問題!


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM