性能测试一直是Web应用中非常受关注的部分。
目前人们对性能的关注还主要集中在服务端,大部分人在说到“性能测试”的时候,都会把重点放到服务端的性能测试和调优,也就是通过各种方法找到服务端的性能瓶颈并尝试对其进行调优。
实际上,对于web应用来说,除了考虑服务端在足够短的时间内返回页面数据之外,还可以从页面前端的角度来考虑性能测试和性能调优。
01
前端性能测试目的
前端性能测试对象有:HTML、CSS、JS、AJAX等前端技术开发的Web页面,服务端数据返回、网络传输、页面渲染等都会影响用户浏览网页速度
前端性能的指标有:
白屏时间、首屏时间、用户可交互时间、总下载时间、DNS解析时间、TCP连接时间、HTTP请求时间、HTTP响应时间。
前端性能测试的目的是计算出包含页面渲染、网络传输以及服务器端解析等综合因素在内的加载时间指标,对该页面性能进行评估分析,找出影响性能的主要因素和瓶颈,并在此基础上,给出一定的优化建议和解决方案,从而提升用户体验。
尽管性能如此重要,但是在开发迭代过程中难免会有所忽视,性能会伴随产品的迭代而有所衰减。特别在移动端,网络一直是一个很大的瓶颈,并且页面越来越大、功能越来越复杂,因此需要一套性能监控系统来持续监控、评估、预警页面性能状况、发现瓶颈,指导优化工作的进行。
02
前端性能测试工具介绍
目前,前端性能测试的执行工具有很多,比如:YSlow、PageSpeed、WebPagetest、OneAPM Browser Insight等等(摘自互联网)。
这些执行工具都很好使用,并且它们关注的性能点也有些不同,所以就有了将这些工具产生的数据都收集起来的工具showslow。通过部署和匹配showslow,可以实现将上述工具产生的数据收集并产生不错的报表,对三种常用前端测试工具进行简单介绍。
03
YSlow
YSlow(解析为why slow)是雅虎基于网站优化规则推出的工具,可以帮助分析并优化网站性能。
雅虎网站优化规则在十几个方面为网站提出优化建议,包括尽可能的减少HTTP的请求数、使用 Gzip 压缩、将CSS样式放在页面的上方、将脚本移动到底部、减少DNS查询等十几条规则,YSlow 会根据这些规则分析测试网站并给出评级。
04
PageSpeed
PageSpeed最初是Google内部用来改进网页设计的工具,它整合在Firefox的著名插件Firebug中。
网站管理员和网络开发人员可以使用PageSpeed 来评估他们网页的性能,并获得改进网页性能的建议。当用户运行PageSpeed时,可以立即获得如何改进网页载入速度的建议。PageSpeed能自动为用户优化图像,提供可以发布在网页上的压缩图片,它也能识别JavaScript和CSS载入问题,帮助开发者减少浏览者等待网页展示的时间。
05
WebPagetest
WebPagetest是一款Web应用程序,它将一个URL以及一系列配置参数作为输入,并对那个URL运行性能测试
WebPagetest可配置参数的数量非常多,范围非常广。如果测试结果不只保存在个人的服务器上,就需要安装自己的WebPagetest实例,否则,就必须使用 WebPagetest的公开实例。可以选择任何一组网站地址来进行测试,每个地址都可以用一个或多个浏览器对其进行测试,同时可以指定连接速度以及运行测试的数量。
06
性能测试平台搭建
ShowSlow是开源的前端性能监控系统,具有以下功能:
前端性能指标数据收集功能:ShowSlow支持通过YSlow、PageSpeed等第三方工具将性能数据上报给服务端完成收集
其服务器端提供了针对多达8种不同工具上报的数据收集器dommonster、dynatrace、events、har、metric、pagespeed、webpagetest、yslow
网友评论