網站性能優化工具大致分為兩類:綜合類和RUM類(實時監控用戶類),WebPageTest屬於綜合類。
WebPageTest通過布置一些特定的場景進行測試,例如不同的網速、瀏覽器、位置等。
測試完成后,能獲得優化等級、性能參數、請求瀑布圖、網頁幻燈片快照等,更多信息可以參考《WebPageTest快速入門》。
一、總覽
輸入網址后,首先進入視野中的就是下面這張畫面。
1)原理
根據WebPageTest的《概述》了解到,WebPageTest是一個PHP網站,用戶輸入網址、地點、自定義腳本等信息后,參數發送到后台。
后台做些邏輯處理,再通過瀏覽器相關的代理程序,啟動Chrome、Firefox或IE,瀏覽器執行完后。
將數據傳回給后台,后台再將數據保存起來,最后通過各種形式(圖、表格、列等),將分析數據過的數據,呈現給用戶。
2)視覺進展
WebPageTest會測量視覺進展,也就是展示每個時間顯示多少百分比的頁面,一些數據測量就是根據這個來的,具體可以參考《Speed Index》。
有兩種測量方法:
1. 先將頁面顯示的過程捕獲,保存成多張圖片,再通過圖片分析工具將每個像素與最終圖像比較,算出百分比,不過頁面每個像素移動都會改變比對結果
2. 現在有新的方法,使用繪畫事件的可視進展,不過需要Webkit內核的瀏覽器才支持。
3)擴展
WebPageTest還支持擴展開發,只要申請到一個key后,就可以根據提供的API做開發。
不過調用次數都會有限制,所以如果要做還是在自己本地或內網布置一個WebPageTest的環境。
后面我會專門寫幾篇布置環境的文章,WebPageTest在windows中布置起來簡單一點。
4)導航欄
1. TEST RESULT:能看到最新的一個測試。
2. TEST HISTORY:能查看到測試歷史記錄。
3. FORUMS:論壇信息,里面有許多提問和回答,覆蓋面非常廣,下圖是論壇的首頁。
4. DOCUMENTATION:工具文檔,英文版,並且掛在google域名下,自己翻譯了一下,掛在了github上。
5. ABOUT:給出了WebPageTest的Github地址,以及發布版的下載地址等信息。
二、普通配置
1)Test Location和Browser
配置測試地址,美帝、歐洲、亞洲、非洲、美洲,各個地方都有服務器,不過還是選擇一個近點的比較好,可以選香港或揚州。
點擊Select from Map,彈出的是google地圖,你懂得,不做點措施是顯示不了的。
不同地點,可以選擇的Browser(瀏覽器)將不同,例如香港服務器可以選擇Chrome、Firefox和IE11,揚州就不支持IE11。
三、高級配置(Advanced Settings)
1)Test Settings
Connection:網速(Connection)有光纖(Cable)、DSL或者自定義。RTT(Round Trip Time):一個數據包從發出去到回來的時間。
自定義設置中可以設置:下行帶寬(BW Down),上行帶寬(BW Up),延遲(Latency),丟包率(Packet Loss)。
Repeat View:選擇“First View and Repeat View”后,就啟動重復視圖,每次測試有兩個視圖,第二個的時候,就可以模擬有緩存的情況。
2)Advanced
高級設置中的高級設置,可以修改訪問代理信息、自定義頭信息,能夠模擬更多實際的情況。
3)Chrome
針對Chrome瀏覽器的設置,可以調用瀏覽器中的模擬器、捕獲開發工具時間軸。
4)Auth
HTTP基本授權,輸入用戶名和密碼后,這些信息經過base64編碼,以HTTP請求首部的形式發送。
這種技術稱為HTTP基本驗證(HBA),使用這種方式,需要服務器支持HBA,所以這並不是一個穩妥的方法。
授權的請求首部信息類似於下面:
Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=
5)Script
自定義腳本,網站文檔《腳本》中有更多設置,非常強大,不過根據瀏覽器不同,能使用的腳本參數也會不同。
6)Block
請求阻塞,多個關鍵字可用空格分割,如果請求的URL中與輸入的關鍵詞匹配,那么請求將被阻塞。
與下面的SPOF最大的區別是不會發生請求超時,因為這個請求根本沒有創建。
這個測試的目的就是簡單的評估資源缺失對頁面造成的影響。
7)SPOF
單點故障,只需將要限制的域名寫在輸入框中即可,一個域名一行。
目的就是請求超時,對網站的影響,這是一種非常簡便的檢測第三方托管資源有效性的方法。
8)Custom
設置自定義指標,網站文檔《自定義指標》有詳細說明。
設置完成后可以在“detail -》Custom Metrics”中查看到,有個測試案例可以查看。
QQ交流群:156140744