zoukankan      html  css  js  c++  java
  • 网站性能优化工具

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

    网站性能优化工具大致分为两类:综合类和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”中查看到,有个测试案例可以查看。

  • 相关阅读:
    如何提高PHP执行效率
    PHP MySQL 预处理语句
    CDN拾遗
    Rendering React components to the document body
    模拟select,隐藏下拉列表的几种实现
    前端数据范式化
    其实我们可以少写点if else和switch
    [译]the cost of javascript in 2018(1)
    provisional headers are shown 知多少
    f5到底刷新了点什么,你知道吗
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/6697574.html
Copyright © 2011-2022 走看看