Web性能优化工具WebPageTest(一)——总览与配置

简介: 网站性能优化工具大致分为两类:综合类和RUM类(实时监控用户类),WebPageTest属于综合类。WebPageTest通过布置一些特定的场景进行测试,例如不同的网速、浏览器、位置等。测试完成后,能获得优化等级、性能参数、请求瀑布图、网页幻灯片快照等,更多信息可以参考《WebPageTest快速入门》。

网站性能优化工具大致分为两类:综合类和RUM类(实时监控用户类),WebPageTest属于综合类。

WebPageTest通过布置一些特定的场景进行测试,例如不同的网速、浏览器、位置等。

测试完成后,能获得优化等级、性能参数、请求瀑布图、网页幻灯片快照等,更多信息可以参考《WebPageTest快速入门》。

一、总览

输入网址后,首先进入视野中的就是下面这张画面。

11.jpg

1)原理

根据WebPageTest的《概述》了解到,WebPageTest是一个PHP网站,用户输入网址、地点、自定义脚本等信息后,参数发送到后台。

后台做些逻辑处理,再通过浏览器相关的代理程序,启动Chrome、Firefox或IE,浏览器执行完后。

将数据传回给后台,后台再将数据保存起来,最后通过各种形式(图、表格、列等),将分析数据过的数据,呈现给用户。

12.png

2)视觉进展

WebPageTest会测量视觉进展,也就是展示每个时间显示多少百分比的页面,一些数据测量就是根据这个来的,具体可以参考《Speed Index》。

13.png

有两种测量方法:

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地址,以及发布版的下载地址等信息。

14.png

 

二、普通配置

15.png

1)Test Location和Browser

配置测试地址,美帝、欧洲、亚洲、非洲、美洲,各个地方都有服务器,不过还是选择一个近点的比较好,可以选香港或扬州。

点击Select from Map,弹出的是google地图,你懂得,不做点措施是显示不了的。

不同地点,可以选择的Browser(浏览器)将不同,例如香港服务器可以选择Chrome、Firefox和IE11,扬州就不支持IE11。

16.png

 

三、高级配置(Advanced Settings)

1)Test Settings

Connection:网速(Connection)有光纤(Cable)、DSL或者自定义。RTT(Round Trip Time):一个数据包从发出去到回来的时间。

自定义设置中可以设置:下行带宽(BW Down),上行带宽(BW Up),延迟(Latency),丢包率(Packet Loss)。

17.png

Repeat View:选择“First View and Repeat View”后,就启动重复视图,每次测试有两个视图,第二个的时候,就可以模拟有缓存的情况。

2)Advanced

高级设置中的高级设置,可以修改访问代理信息、自定义头信息,能够模拟更多实际的情况。

18.png

3)Chrome

针对Chrome浏览器的设置,可以调用浏览器中的模拟器、捕获开发工具时间轴。

19.png

4)Auth

HTTP基本授权,输入用户名和密码后,这些信息经过base64编码,以HTTP请求首部的形式发送。

这种技术称为HTTP基本验证(HBA),使用这种方式,需要服务器支持HBA,所以这并不是一个稳妥的方法。

授权的请求首部信息类似于下面:

Authorization: Basic dXNlcm5hbWU6cGFzc3dvcmQ=

21.png

5)Script

自定义脚本,网站文档《脚本》中有更多设置,非常强大,不过根据浏览器不同,能使用的脚本参数也会不同。

22.png

6)Block

请求阻塞,多个关键字可用空格分割,如果请求的URL中与输入的关键词匹配,那么请求将被阻塞。

与下面的SPOF最大的区别是不会发生请求超时,因为这个请求根本没有创建。

这个测试的目的就是简单的评估资源缺失对页面造成的影响。

23.jpg

7)SPOF

单点故障,只需将要限制的域名写在输入框中即可,一个域名一行。

目的就是请求超时,对网站的影响,这是一种非常简便的检测第三方托管资源有效性的方法。

24.jpg

8)Custom

设置自定义指标,网站文档《自定义指标》有详细说明。

25.png

设置完成后可以在“detail -》Custom Metrics”中查看到,有个测试案例可以查看。

26.png

 

相关文章
|
1月前
|
Java API 数据库
构建RESTful API已经成为现代Web开发的标准做法之一。Spring Boot框架因其简洁的配置、快速的启动特性及丰富的功能集而备受开发者青睐。
【10月更文挑战第11天】本文介绍如何使用Spring Boot构建在线图书管理系统的RESTful API。通过创建Spring Boot项目,定义`Book`实体类、`BookRepository`接口和`BookService`服务类,最后实现`BookController`控制器来处理HTTP请求,展示了从基础环境搭建到API测试的完整过程。
48 4
|
9天前
|
人工智能 前端开发 计算机视觉
Inpaint-Web:纯浏览器端实现的开源图像处理工具
在刷短视频时,常看到情侣在景区拍照被路人“抢镜”,男朋友用手机将路人“P”掉,既贴心又有趣。最近我发现了一个纯前端实现的开源项目——inpaint-web,可在浏览器端删除照片中的部分内容,非常酷。该项目基于 WebGPU 和 WASM 技术,支持图像修复与放大,已在 GitHub 上获得 5.1k Star。项目地址:[GitHub](https://github.com/lxfater/inpaint-web)。
49 3
 Inpaint-Web:纯浏览器端实现的开源图像处理工具
|
14天前
|
缓存 前端开发 JavaScript
Web应用性能优化策略
Web应用性能优化策略
|
14天前
|
缓存 监控 负载均衡
Web应用性能优化指南
Web应用性能优化指南
22 2
|
19天前
|
JavaScript 前端开发 开发工具
web项目规范配置(husky、eslint、lint-staged、commit)
通过上述配置,可以确保在Web项目开发过程中自动进行代码质量检查和规范化提交。Husky、ESLint、lint-staged和Commitlint共同作用,使得每次提交代码之前都会自动检查代码风格和语法问题,防止不符合规范的代码进入代码库。这不仅提高了代码质量,还保证了团队协作中的一致性。希望这些配置指南能帮助你建立高效的开发流程。
33 5
|
23天前
|
前端开发 JavaScript 开发者
构建响应式设计的现代Web应用:实用技巧与工具
【10月更文挑战第24天】本文介绍了构建响应式Web应用的实用技巧和工具,涵盖流体网格布局、弹性图片、CSS媒体查询、CSS Grid和Flexbox、响应式导航菜单、图片和字体的响应式处理,以及测试和调试工具。掌握这些技能将帮助开发者提升用户体验和项目适应性。
|
1月前
|
缓存 前端开发 JavaScript
深入了解Webpack:现代Web开发的核心工具
【10月更文挑战第11天】深入了解Webpack:现代Web开发的核心工具
|
1月前
|
JavaScript 前端开发 API
深入了解jQuery:简化Web开发的强大工具
【10月更文挑战第11天】深入了解jQuery:简化Web开发的强大工具
14 0
|
1月前
|
监控 Java Maven
springboot学习二:springboot 初创建 web 项目、修改banner、热部署插件、切换运行环境、springboot参数配置,打包项目并测试成功
这篇文章介绍了如何快速创建Spring Boot项目,包括项目的初始化、结构、打包部署、修改启动Banner、热部署、环境切换和参数配置等基础操作。
140 0
|
1月前
|
XML JSON API
ServiceStack:不仅仅是一个高性能Web API和微服务框架,更是一站式解决方案——深入解析其多协议支持及简便开发流程,带您体验前所未有的.NET开发效率革命
【10月更文挑战第9天】ServiceStack 是一个高性能的 Web API 和微服务框架,支持 JSON、XML、CSV 等多种数据格式。它简化了 .NET 应用的开发流程,提供了直观的 RESTful 服务构建方式。ServiceStack 支持高并发请求和复杂业务逻辑,安装简单,通过 NuGet 包管理器即可快速集成。示例代码展示了如何创建一个返回当前日期的简单服务,包括定义请求和响应 DTO、实现服务逻辑、配置路由和宿主。ServiceStack 还支持 WebSocket、SignalR 等实时通信协议,具备自动验证、自动过滤器等丰富功能,适合快速搭建高性能、可扩展的服务端应用。
110 3
下一篇
无影云桌面