工欲善其事,必先利其器,在做H5前端性能测试之前,选择合适的工具能让我们的测试工作事半功倍。本文要提到的工具有两类:

一类是抓包工具,如Fiddler、Charles等。这类工具不仅可以抓包,还可以对包进行修改,动态展示瀑布流,对web进行调试。在我们做H5前端性能测试的时候,个人觉得只要不修改包,不对H5调试,就可以放弃使用这类工具,不是工具不好,而是大材小用。

还有一类,这里重点提到的是如Page Speed、PCAP Web Performance Analyzer、WebPagetest这类平台型工具。我们可以快捷的测试出H5前端性能中数据,视图,并给出一定程度的优化建议。

 

(*以上为个人见解,如有疏漏和错误,请及时指正)

以手机管家端午节运营活动H5为例,附上上述工具测试结果页,当然这里仅仅是结果的罗列。具体的分析还是需要测试人员来做,衡量是否符合当前运营需求。

WebPagetest

 

Page Speed:

 

PCAP Web Performance Analyzer:

 

Chrome DevTools:

 

常见问题举例:

同样以手机管家端午节运营活动H5为例:(完成整个加载性能测试耗时只需20分钟左右)

1、HTTP请求过多

 

图为PCAP Web Performance Analyzer解析pcap包的结果,图中我们可以看出,21个http请求中,有7个是统计点发出的请求。这里可以考虑统计点合并上报和首屏时减少上报统计点。

2、图片空白部分太多

这里需要用到的图片仅仅是作为右上角分享,但是在我们请求的图片确实整张完整的图。
可以考虑请求小的切图,通过CSS控制图片显示位置。

 

3、图片尺寸

下面一张背景图,我们可以看到尺寸是1080X1919,然后当前市面上Android主流机型主要为 480x800, 480x854, 540x960, 720x1280, 800x1280 。所以,为每一个移动设备都提供一张1080X1919的图片实在没有必要。

 

4、没有使用的资源

下面这一幅图,在chrome DevTools中看到请求响应并下载成功,但是在实际的H5活动中并没有使用过。

 

5、返回码非200

 
  • 非200的返回码意味着本次请求没有实质性的收获,如上图所示的两次非200请求返回值:

  • 404:上图请求图片时出现404:一方面,可能图片本身在H5中就不展示,所以这里直接去掉多余的连接就好了。另一方面,可能H5中需要该图片,而恰好访问结果为404,那此时就定位了一个bug 的存在。

  • 302:请求音乐时出现302重定向:从图中可以明显看出两次请求后才获取到背景音乐,从用户侧可能会感知是音乐加载速度慢。

6、未使用CDN,未设置cache

 

如果该运营活动是全国性的,且用户量很大,那么非常有可能网络“边缘”的用户没有办法正常访问该H5活动。

7、资源未压缩

 

这里详细列出了各个没有压缩的图片资源。这里要建议的图片的压缩,如上图测试结果,压缩后可以减少16K的图片资源大小。还可以考虑是否采用图片地图来减少http请求。

H5性能测试学习的更多相关文章

  1. 性能测试学习之三—— PV->TPS转换模型&TPS波动模型

    PV->TPS转换模型 由上一篇“性能测试学习之二 ——性能测试模型(PV计算模型)“ 得知 TPS = ( (80%*总PV)/(24*60*60*(T/24)))/服务器数量 转换需要注意: ...

  2. 值得H5前端学习的60个JS插件(含DEMO演示)

    下面也可以说是H5前端学习的js插件大全.基本包含了大部分的前端最前沿的js插件和库. 布局 SuperEmbed.js- 是一个Javascript库,可检测出网页上的内嵌视频并使他们能够变成响应式 ...

  3. 前端性能测试(H5性能测试)

    前端性能调优方法同样适用于H5. 1.H5前端性能知识点 学习前端性能,必须对HTTP协议有所了解. 1.1 浏览器渲染引擎 浏览器是Html解析和页面最终展示的工具. 浏览器的主要功能:将用户选择的 ...

  4. Locust性能测试学习总结

    Locust学习总结分享 简介: Locust是一个用于可扩展的,分布式的,性能测试的,开源的,用Python编写框架/工具,它非常容易使用,也非常好学.它的主要思想就是模拟一群用户将访问你的网站.每 ...

  5. 性能测试学习第四天_Loadrunner概述

    1.Loadrunner的组成部分 ·脚本生成器VuGen:virtual user generator ·压力控制器Controller,License主要在这里控制 ·结果分析软件Analysis ...

  6. 性能测试学习第一天-----概念、环境、LR录制&参数化

    1.性能测试的概念: 通过一定的手段,在多并发情况下,获取被测系统的各项性能指标, 验证被测系统在高并发下的处理能力.响应能力.稳定性等,能否满足预期.定位性能瓶颈,排查性能隐患,保障系统的质量,提升 ...

  7. H5性能测试,首屏时间统计(Argus)

    Argus 腾讯质量开发平台,官网链接:https://wetest.qq.com/product/argus 主要针对性:H5的游戏性能测试 主要介绍: 独家首屏时间统计: 告别人工掐秒 自动统计首 ...

  8. 性能测试学习之路 (一)认识jmeter(性能测试流程 && 性能测试通过标准 &&jmeter体系结构)

    性能测试是通过自动化的测试工具模拟多种正常.峰值以及异常负载条件来对系统的各项性能指标进行测试. 1 性能测试技能树 性能测试是一项综合性的工作,致力于暴露性能问题,评估系统性能趋势.性能测试工作实质 ...

  9. H5的学习之旅-H5的实体(14)

    H5有些关键字比如<等等是显示不出来的,这时候,就需要用实体来表示,实体我理解就是最初的编码 代码实例 <!DOCTYPE html> <html lang="en& ...

随机推荐

  1. 使用Fiddler调试手机端页面请求/抓包

    简介 Fiddler作为一个强大的抓包工具,也是非常强大的http(s)协议分析工具,我们通常用它跟踪请求,PC端使用这里暂不做介绍(这里前提是熟悉PC端的使用),使用很简单. 那么我们如何来用它来跟 ...

  2. Linux 系统下安装 rz/sz 命令及使用说明

    Linux 系统下安装 rz/sz 命令及使用说明 rz/sz命令,实现将本地的文件上传到服务器或者从服务器上下载文件到本地,但是很多Linux系统初始并没有这两个命令,以下为安装和使用的具体步骤: ...

  3. Redis-消息发布与订阅

    redis的消息发布与订阅适合做在线聊天, 消息推送 使用方法: 发布端: publish +频道名称 + 发布内容 订阅端: subscribe + 频道名称 发布端例子: 127.0.0.1:63 ...

  4. ASP.NET Core 源码学习之 Logging[3]:Logger

    上一章,我们介绍了日志的配置,在熟悉了配置之后,自然是要了解一下在应用程序中如何使用,而本章则从最基本的使用开始,逐步去了解去源码. LoggerFactory 我们可以在构造函数中注入 ILogge ...

  5. SpringBoot初识(一)

    一.什么是SpringBoot 最近几年,微服务的概念越来越火.而相信大家在搜索微服务时,映入眼帘的首先就是SpringBoot以及SpringCloud.SpringCloud提供的一套完整的微服务 ...

  6. [Git] 1、常用Git命令行总结(一)

    一.GIT CLONE最常用的有如下几个 1.最简单直接的命令:git clone xxx.git 2.如果想clone到指定目录:git clone xxx.git “指定目录” 3.clone时创 ...

  7. git中常用的指令

    1.初始化仓库 git init2.设置用户名与邮箱 git config --global user.name 'name' git config --global user.email 'emai ...

  8. HTML5入门(一)—— 基本标签&表格

    一.HTML简介 超文本标签语言,即网页的源码.而浏览器就是翻译解释HTML源码的工具. 二.HTML Head部分      <1>Head的作用 用于描述网页的一些关键信息.比如网页的 ...

  9. HTML的正确入门姿势——基本结构与基本标签

    一.什么是HTML HTML是超文本标签语言,即网页的源码.而浏览器就是翻译解释HTML源码的工具. 二.HTML文档的结构 HTML文档主要包括三大部分:文档声明部分.<head>头部部 ...

  10. 分享一道JS前端闭包面试题

    输出以下代码的结果 function fun(n,o){ console.log(o); return { fun:function(m){ return fun(m,n);//[1] } } } v ...