利用Docker安裝Web前端性能測試工具Sitespeed.io


目錄結構

一、Sitespeed.io概述 1.Sitespeed.io簡介 2.Sitespeed.io使用場景 二、Sitespeed.io的安裝和使用 1.安裝Sitespeed.io 2.連接Docker,驅動瀏覽器進行Web性能測試 1)連接Docker 2)驅動瀏覽器進行測試 3)測試報告查看 三、Sitespeed.io測試原理描述 

 

一、Sitespeed.io概述

1.Sitespeed.io簡介

Sitespeed.io:是一款開源的Web性能測試工具,用來衡量Web網站的綜合性能,幫助開發和測試人員分析網頁的加載速度和渲染性能。
Sitespeed.io通過驅動瀏覽器(如:Chrome、Firefox)進行測試,然后從開發者的站點收集多個頁面的數據,並根據最佳實踐等規則來分析這些網頁,然后將結果以HTML報告的形式輸出。

Sitespeed.io滿足了一個完整的Web性能測試工具所需的3個關鍵功能:
1)使用真實的瀏覽器測試Web站點,模擬真實的用戶進行請求連接,收集以用戶為中心的重要指標,如:響應速度指標、第一視覺呈現
2)可分析頁面的組成,並給出相應性能反饋,增加終端用戶的使用體驗友好性
3)通過收集和保存頁面組成的數據,便於跟蹤定位

2.Sitespeed.io使用場景

1)運行於持續集成環境中,將代碼提交or遷入到測試環境時,及早發現Web性能問題,便於提早進行回歸檢查
2)監控生產環境(正式環境)中的Web性能表現,發現異常及早提醒回歸

 

二、Sitespeed.io的安裝和使用

官網-傳送門:https://www.sitespeed.io/

 
1.安裝Sitespeed.io

Docker安裝完成后,通過以下命令可下載安裝Sitespeed.io所需的組件,如下:

docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.sitespeed.io/ 
 
 
Pull 完成
2.連接Docker,驅動瀏覽器進行Web性能測試

1)連接Docker
通過Xshell遠程連接,or通過命令docker-machine ssh default連接進入Docker容器

 
docker-machine ssh default 命令連接
 
Xshell連接

2)驅動瀏覽器進行測試
被測URL=https://www.baidu.com
操作命令:

docker run --shm-size=1g --rm -v "$(pwd)":/sitespeed.io sitespeedio/sitespeed.io https://www.baidu.com 
 

備注說明:
1)Sitespeed.io通過工具集(sitespeed.io,Browsertime,Coach,VisualMetrics)中的各個組件協作完成Web性能測試
2)Sitespeed.io測試過程中默認會迭代3次,一定程度上可以增加分析的可靠性
3)本次驅動測試的瀏覽器默認是:Chrome 70.x
4)測試完成之后,所生成的HTML報告,存放路徑為:/home/docker/sitespeed-result/之下

 

利用WinSCP連接Docker虛擬機之后,即可在以上輸出的指定目錄下查看到本次Web性能測試生成的測試報告
報告的詳細路徑:/home/docker/sitespeed-result/www.baidu.com/2018-11-10-10-51-06

 
 

3)測試報告查看
綜合評分、性能數據展示:

 
 

性能優化建議:

 

頁面概要信息描述:

 
 

 

三、Sitespeed.io測試原理描述

Sitespeed.io工具集中的部分組件&作用:

  • Sitespeed.io:基於其他一系列開源工具構建而成的sitespeed.io集
  • Browsertime:作為驅動瀏覽器、收集Web性能度量指標的工具
  • Coach:該組件知道如何構建快速響應的網站,通過分析測試頁面,反饋所需調整的優化項
  • VisualMetrics:通過從瀏覽器的屏幕進行視頻錄制,收集Web性能度量的視覺指標(如:視覺變化、速度指數)

Sitespeed.io測試執行過程:

  1. sitespeed.io啟動並初始化所有需要的組件
  2. URL通過隊列傳遞給組件
    1)Browsertime獲取URL並打開瀏覽器
    2)開始對瀏覽器屏幕錄制視頻
    3)驅動瀏覽器訪問URL
    4)當頁面加載完成時,Browsertime會對頁面截屏
    5)然后運行一些JavaScript腳本(Coach、Browsertime腳本)來分析頁面
    6)停止視頻錄制,並關閉瀏覽器
    7)分析視頻,以獲取視覺指標,如:第一視覺變化、速度指數
    8)Browsertime傳遞隊列上的所有指標和數據,以使其他組件可以使用這些指標和數據
  3. HTML/Graphite/InfluxDB組件,收集隊列中的指標
  4. 當所有URL都被測試完成時,sitespeed會發送一條消息通知組件集進行總結指標,然后將指標呈現出來
  5. 組件集獲取到所呈現的信息,然后HTML組件將這些信息以HTML格式寫入到磁盤進行存儲為測試報告


免責聲明!

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



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