highcharts如何把图多余的空白页面_如何进行前端性能测试入门篇

前端性能测试:工具使用和分析

1.   参考地址

http://www.genshuixue.com/i-cxy/p/7682961

2.    工具:

Yslow , pagespeed  webpagetest

3. Yslow是谷歌插件,可在扩展程序中添加

4. pagespeed和webpagetest都是在线网站

http://www.webpagetest.org/result/170707_BF_2WR/1/details/

https://developers.google.com/speed/pagespeed/insights/?url=https%3A%2F%2Fwww.baidu.com%2F&tab=desktop

性能评测网站:https://gtmetrix.com/

5. 检查ajax是否过CDN缓存

谷歌浏览器安装插件: Akamai debugheaders

查看ajax请求的 ResponseHesders   对应的 X-cache 字段:字段值包含“HIT”则为存在CDN缓存,字段值为“MISS”则不存在CDN缓存;

(PS:缓存时间长短关注 Cache-control字段,如果字段值中的max-age=0,那么为即无;>0为存在缓存,时间单位为秒)

8b50c0b7bbbadcf5e3985f01a5752af3.png

8d293d09fa3415a7b269719a038c665a.png

6. 如何编写一份前端性能测试报告

主要分成四个部分编写:

网站前端性能测试评分

响应时间和请求数(竞品对比)

页面耗时分析

优化建议

(1)测试得分:https://gtmetrix.com/

(2)响应时间+请求数测试平台:https://www.webpagetest.org/

术语解析:

1、第一字节响应时间(first byte)

从用户开始导航到页面直到服务器响应的第一位到达的时间。此时间的大部分时间通常称为“后端时间”,是服务器为用户构建页面所花费的时间。

2、文档完成时间(load time)

该加载时间是指从用户开始浏览页面,直到文档完成事件(通常是当所有的页面内容的加载)的时间。这通常在所有图像内容加载后发生,但可能不包括由javascript执行触发的内容。

3、页面开始渲染时间(Start render)

指的是浏览器开始渲染的时间,从用户角度出发则可以定义为用户在页面上看到第一个内容的时间;

该时间决定着用户对页面的第一体验时机,如果时间越短给用户的体验则是页面速度越快,这样用户等待其余内容展现的耐心也会更大一些。如果时间过长,则用户会在长时间内面对的都是一个空白的页面,这对用户的耐心将是一个考验;

4、首屏响应时间(speed index)

速度指数是显示页面可见部分的平均时间。它以毫秒表示,并且取决于视图端口的大小。

5、完全加载时间(Fully Loaded)

页面完全加载完成的时间,即:文档完成后没有网络活动2秒。这通常包括主页加载后由javascript触发的任何活动

测试标准:

第一字节响应时间<=1秒

页面开始渲染时间<=3秒

首屏响应时间<=5秒

F得分项 = 0

响应时间和请求数(竞品对比)

  (1)假设测试的URL是

https://www.newchic.com

    1)输入URL和选择测试的地理位置,浏览器

ac25c55506a04d9b4ad461bf38154821.png

(2)高级设置:可以参考:

https://www.cnblogs.com/strick/p/6677836.html

a892d29f00ed25b052ef7235426150f0.png

(3)设置后开始执行,查看结果

db740c2f6b783c939e329213d1f35ff6.png

TTFB是指请求响应的第一个字节的时间(重定向时间+连接时间+后端持续时间)

(4)编写报告时,需要把上面的数据记录

首次访问

9250c78f4ce0d9a0600b7bfea71c36d3.png

非首次访问

5bb3f38807a5542b9bfdee1ff54489cc.png

重点关注:

第一字节时间

页面开始渲染时间;

首屏时间

文档完成时间

完全加载时间

(5)查看请求数和域名数

616ef66626e79ef934b260c8ff14fe4e.png

52d04f62d2023982758d856a7739fb4a.png

统计结果如下:

0f6db7bf6a81a4044d1e12b48c4e7a16.png

bfad86b2e542fcf1bc8fb4a7974742c1.png

重点关注:首屏请求个数

页面耗时分析

(1)页面解析耗时——各个加载节点 (数据来自gtmetrix)

49d201995ea7c581dc691daef815ec30.png

记录下结果,待优化页面性能后,前后作对比

16fca79fe68c3ac476d592042cee95b1.png

(2)Chrome DevTools:查看请求

1.是否存在重复的请求

2.是否图片空白部分太多

3.是否图片尺寸不对

4.是否存在多余的资源

5.检查非200的请求

27f860fe893815005d1bd90504324f46.png

优化建议(优先处理F等级的)

  (1)分析方向:

1.使用CDN(Effective use of CDN)

2.启用压缩GZIP(Compress Transfer)

3.压缩图片(Compress Images)  【对比 gtmetrix--PageSpeed中Optimizeimages】

4.缩小JS(Minify JavaScript) 和内联JS (Inline smallJavaScript)

5.缩小HTML(Minify HTML)

6.缩小CSS(Minify CSS)

7.把CSS放在头部(PutCSS in the document head)

8.减少DOM元素的数量       【数据取gtmetrix--yslow】

9.指定图像尺寸 Specify imagedimensions  【数据取gtmetrix--PageSpeed】

10. 延迟推迟JS  Defer parsingof JavaScript【数据取gtmetrix--PageSpeed】

11. 减少http请求 Make fewerHTTP requests  【数据取gtmetrix--yslow】

减少http请求的方式,如下有两种方式设置缓存,测试时注意常用资源是否请求资源时否设置缓存:

Cache-Control

“no-cache”指示请求或响应消息不能缓存(HTTP/1.0用Pragma的no-cache替换)

“no-store”用于防止重要的信息被无意的发布。在请求消息中发送将使得请求和响应消息都不使用缓存。根据缓存超时

Expires表示存在时间,允许客户端在这个时间之前不去检查(发请求),等同max-age的效果。但是如果同时存在,则被Cache-Control的max-age覆盖。

设置方式:通过HTTP的META设置expires和cache-control 

9473b2e9db1ac5f43f8482aaac5ec34b.png

往期回顾:

mock + fidder如何应用在测试中

 dubbo接口界面化调试工具(二)

 dubbo接口界面化调试工具(一)

- END -

5f29bab11364ad890e2813d7f1617a68.png

d977d0bde5faef1dd6c7cc4102e0940b.png

9d1bcfc1782fe454fff1996511f0019e.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值