工欲善其事,必先利其器。了解完性能指标之后,性能优化的目标已经明确了。接下来我们借助一些性能测量工具,明确网页距离优化目标之前还有多大的差距。一个好的工具可以让你事半功倍,接下来我将用3篇文章分别介绍3个主流的测量工具:
Chrome DevTools Performance 主要用于日常开发过程中分析运行时的性能表现。
Lighthouse 用来生成网页的性能评测报告。
WebPageTest 用来进行整体的网站质量评估、一站式性能评估。
有了这3个工具我们就可以从多个维度对网站性能进行全方位的评估。
WebPagetest的核心是用于测量和分析网页的性能。它是 google 开源项目《make the web faster》的子项目,它本来是 AOL 内部使用的工具,后来在2008年基于BSD开源。
官方网址:http://www.webpagetest.org/
WebPageTest是一个PHP网站,用户输入网址、地点、自定义脚本等信息后,参数发送到后台。后台做些逻辑处理,再通过浏览器相关的代理程序,启动Chrome、Firefox或IE。浏览器执行完后将数据传回给后台,后台再将数据保存起来,最后通过各种形式(图、表格、列等),将分析数据过的数据,呈现给用户。
首先打开WebPageTest 官网,可以看到如下界面:
基础配置
高级配置
官网中只能测试一些外网能访问的网站,但是往往开发过程中有些项目我们都发布在公司内部的局域网内,所以就需要将WebPagetest部署到本地,使用本地的网络环境来测试性能。
注意:这里提到的本地部署,是指本地局域网内服务器上部署的网站,不是本地电脑的locallhost,因为在本地测试locallhost往往是不准确的,因为大多数情况下,本地开发调试的页面都是webpack dev sever服务器,资源没有经过压缩,所以加载速度也会很慢,和线上环境的结果往往会大相径庭。
具体步骤如下:
1.下载并安装docker镜像,下载地址 https://docs.docker.com/get-docker/
为什么安装docker镜像?docker类似于一个虚拟机,在虚拟机上下载WebPageTest的镜像,我们就是不需要独立安装WebPageTest这个软件了,这样可以不受系统限制,完全独立出一套虚拟的环境,通过端口映射到本地服务。
2.拉取镜像
- docker pull webpagetest
- docker pull webpagetest/agent
3.运行server实例
- docker run -d -p 4000:80 webpagetest/server
4.运行agent实例
- docker run -d -p 4000:80 --network="host" -e "SERVER_URL=http://localhost:4000/work/" -e "LOCATION=Test" webpagetest/agent
5.访问http://localhost:4000,会看到 WebPagetest 官网一样的页面,在这个页面中输入本地其它端口的网址,我们就可以测试本地服务的性能了。
1. 优化等级
在结果页面的顶部是一组最关键的性能优化等级。涵盖了适用于所有网站的基本优化,任何不是A或B的都需要进行进一步的优化.
2. 性能指标总结
结果页顶部的数据表提供了有关已加载页面的一些高级信息,其中首次和重复访问视图的指标都有清晰的看到首次和重复视图访问的结果。
首次视图(First View):首次视图的测试,将会把浏览器的缓存和Cookie清除,表示访问者第一次访问该网页将体验到的情况。
重复视图(Repeat View):重复视图会在首次视图测试后立即执行,不会清除任何内容。浏览器窗口在First View测试后关闭,然后启动新浏览器以执行Repeat View测试。重复视图测试模拟的是用户离开页面后,马上再进入此页面的场景。
除此之外,这里介绍几个关键指标:
首字节加载时间(First Byte Time):是指浏览器收到HTML内容的第一个字节时间,包括DNS查找、TCP连接、SSL协商(如果是HTTPS请求)和TTFB。
首字节时间 TTFB(Time To First Byte):首字节是指被测量为从初始化请求,到服务器响应的第一个字节,被浏览器接收的时间(不包括DNS查询、TCP连接的时间)。我理解TTFB的计算是从下图中requestStart到responseStart这之间的时间,也就是请求发送出去的时间。
所以,首字节加载时间 = DNS查找时间+TCP连接时间+SSL协商时间+TTFB请求发送出去的时间
3. waterfall chart 请求瀑布图
在结果页的下方我们可以看到每次运行显示的瀑布图,点击进去可以看到具体的参数详情,如下图所示:
在这张图上我们可以看到所有的请求资源都列举了出来,里面的信息比 Chrome DevTools给出的信息更加详细,例如下方的几个指标:
除此之外,在下图中我们还可以看到一些优化的点,比如42-50这些并行请求的图片资源减少了资源加载时间,还有57-58黄色高亮部分资源发生了重定向,WebpageTest 提示我们这里资源发生了变化,可以优化为不进行资源重定向。
当前题目:【性能优化】性能测量工具-WebPageTest
标题链接:http://www.shufengxianlan.com/qtweb/news45/325795.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联