利用Docker安装Web前端性能测试工具Sitespeed.io

目录结构

1、Sitespeed.io概述 1.Sitespeed.io简介 2.Sitespeed.io使用场景 2、Sitespeed.io的安装和使用 1.安装Sitespeed.io 2.链接Docker,驱动浏览器进行Web性能测试 1)链接Docker 2)驱动浏览器进行测试 3)测试报告查看 3、Sitespeed.io测试原理描述 

 

1、Sitespeed.io概述

1.Sitespeed.io简介

Sitespeed.io:是一款开源的Web性能测试工具,用来衡量Web网站的综合性能,帮助开发和测试人员分析网页的加载速度和渲染性能。
Sitespeed.io经过驱动浏览器(如:Chrome、Firefox)进行测试,而后从开发者的站点收集多个页面的数据,并根据最佳实践等规则来分析这些网页,而后将结果以HTML报告的形式输出。javascript

Sitespeed.io知足了一个完整的Web性能测试工具所需的3个关键功能:
1)使用真实的浏览器测试Web站点,模拟真实的用户进行请求链接,收集以用户为中心的重要指标,如:响应速度指标、第一视觉呈现
2)可分析页面的组成,并给出相应性能反馈,增长终端用户的使用体验友好性
3)经过收集和保存页面组成的数据,便于跟踪定位css

2.Sitespeed.io使用场景

1)运行于持续集成环境中,将代码提交or迁入到测试环境时,及早发现Web性能问题,便于提前进行回归检查
2)监控生产环境(正式环境)中的Web性能表现,发现异常及早提醒回归java

 

2、Sitespeed.io的安装和使用

官网-传送门:https://www.sitespeed.io/docker

 
1.安装Sitespeed.io

Docker安装完成后,经过如下命令可下载安装Sitespeed.io所需的组件,以下:shell

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
操做命令:ruby

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-06ssh

 
 

3)测试报告查看
综合评分、性能数据展现:工具

 
 

性能优化建议:

 

页面概要信息描述:

 
 

 

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格式写入到磁盘进行存储为测试报告
相关文章
相关标签/搜索